1

我正在构建一个依赖于带有 SQL 数据库的服务器的应用程序。数据库自动存储如下所示的时间戳:

2013-04-26 22:56:05    

我的服务器上有一个带有 PHP 文件的 URL,该文件获取数据并将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 上。

4

1 回答 1

1

终于想通了。

我的服务器是UTC时间!我变了

[formatter setTimeZone:[NSTimeZone timeZoneWithName:@"EDT"]];

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

现在它按预期工作。

于 2013-04-27T14:50:06.613 回答