我正在构建一个依赖带有SQL数据库的服务器的应用程序。数据库自动存储如下所示的时间戳:
2013-04-26 22:56:05
我的服务器上有一个URL,其中包含一个获取数据的PHP文件,echo
将其作为JSON返回给应用程序。
当应用获取数据时,时间戳仍然相同 - timestamp = "2013-04-26 22:56:05";
NSString *timestamp = [mArray[1] objectForKey:@"timestamp"];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setTimeZone:[NSTimeZone timeZoneWithName:@"EDT"]];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *date = [formatter dateFromString:timestamp];
NSLog(@"NSDATE: %@", date);
它出现为:NSDATE: 2013-04-27 04:56:05 +0000
。这显然不一样。
我的服务器是北弗吉尼亚州(EDT)的Linux机器,我是MDT。
答案 0 :(得分:0)
终于明白了。
我的服务器是在UTC时间!我改变了
[formatter setTimeZone:[NSTimeZone timeZoneWithName:@"EDT"]];
到
[formatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]];
现在它按预期工作。