1

在我的应用程序中,我不想在手机上使用当地时间。我想获得格林威治标准时间的当前时间。为此,我有一个时区设置为 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"];
4

1 回答 1

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);
于 2010-03-11T11:30:55.330 回答