0

我正在尝试在日历上安排一个日期,该日期有一个开始时间和一个结束时间,如果时区在美国,一切正常,并且更改日期没有帮助,我需要委内瑞拉什么应该我按照我放置generica的方式做,无论时区如何,都可以在任何地方为我服务?

在这里,我将代码保留为数据,并在制作日期格式时将其带到我身边。

 comes the date in the following format: 12/10/2012 05:00 pm

  EKEvent* event = [EKEvent eventWithEventStore:eventStore];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setTimeZone:[NSTimeZone localTimeZone]];
[dateFormatter setDateFormat:@"dd/MM/yyyy hh:mm:ss a"];
  horafin = [dateFormatter dateFromString:inicio];
horafin  = [horafin dateByAddingTimeInterval:3600];
horainicio = [dateFormatter dateFromString:inicio];
[dateFormatter release];


NSString *ti=[[NSString alloc]initWithString:title];
NSLog(@"");
event.title =@"juego";
event.startDate = horainicio;
event.endDate = horafin;
event.URL = [NSURL URLWithString:@"http://pagina.com"];
event.notes = ti;
event.allDay = NO;
vc.event = event;
vc.editViewDelegate = self;
[self presentViewController:vc animated:YES completion:nil];

仅当您更改时区时,事件日历正确呼叫我才会失败,因为我没有正确选择日期,我可以做什么?

4

2 回答 2

0

我使用以下代码来获取所需的时区转换日期时间:

- (NSString *) getUTCDate : (NSString *) inputDate
{
    NSDateFormatter *utcDateFormatter = [[NSDateFormatter alloc] init];
    [utcDateFormatter setDateFormat:@"dd-MMM-yyyy HH:mm:ss Z"];
    [utcDateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]];
  //  [utcDateFormatter setTimeZone :[NSTimeZone timeZoneForSecondsFromGMT: 0]];        
    // utc format
    NSDate *dateInUTC = [utcDateFormatter dateFromString: inputDate];        

    return dateInUTC;
}

dateInUTCGMT 时区的日期在哪里。

您需要在通话中替换自己的时区[NSTimeZone timeZoneWithName:@"UTC"],它应该可以工作。

于 2013-03-01T18:55:21.190 回答
0

只需更改代码中的一行代码...

[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]];

This will set time format in universal which doesnot change with region or day light saving time.

于 2013-05-30T09:23:21.153 回答