将字符串转换为日期时崩溃

时间:2010-02-28 23:06:42

标签: iphone nsdate nsdateformatter

在我的应用中,我不想在手机上使用当地时间。我想获得格林尼治标准时间的当前时间。为此,我有一个日期格式化程序,时区设置为GMT。然后,我执行以下操作以获取当前时间:

NSString *dateOne = [df stringFromDate:[NSDate date]];
NSDate *date1 = [df dateFromString:dateOne];

我的应用虽然在dateFromString调用上获得了EXC_BAD_ACCESS。我检查了dateOne返回的值,它的格式与dateformatters匹配。我究竟做错了什么?有更好的方法吗?

由于

编辑:

NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"yyyy-mm-dd HH:mm:ss"];

1 个答案:

答案 0 :(得分:0)

或许更容易:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-mm-dd HH:mm:ss"];

NSTimeZone *tz = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
[dateFormatter setTimeZone:tz];

NSDate *date = [NSDate date];
NSString *dateString = [dateFormatter stringFromDate:date];
NSLog(@"Time now in GMT: %@",dateString);