我正在尝试在日历上安排一个日期,它有开始时间和结束时间,如果时区在美国,一切都很好,更改的日期没有帮助,我需要它到委内瑞拉我应该做什么,当我放置generica时,无论在哪个时区都可以为我服务?
在这里,我将代码保留为data,并在创建日期格式时带给我。
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];只有当您更改时区时,事件日历才会正确呼叫我,因为我没有正确获取日期。我可以做什么?
发布于 2013-03-02 02:55:21
我使用以下代码来获取所需的时区转换日期时间:
- (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;
}其中,dateInUTC是格林尼治标准时间时区中的日期。
您需要在call [NSTimeZone timeZoneWithName:@"UTC"]中替换您自己的时区,它应该可以工作。
发布于 2013-05-30 17:23:21
只需更改代码中的一行代码...
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]];这将设置通用的时间格式,它不会随着地区或夏令时的变化而改变。
https://stackoverflow.com/questions/15162835
复制相似问题