1

我从网络服务中获取日期,例如“2012-07-03 07:26:48”。从 web 服务解析后,我已经保存在 NSString 中。在将 NSString 转换为下面代码中使用的 NSDate 时,

    NSDateFormatter *dateFormatter1 = [[NSDateFormatter alloc] init];
    [dateFormatter1 setDateFormat:@"yyyy-MM-dd hh:mm:ss"];

    NSString *dateStr = @"2012-07-03 07:26:48";
    NSDate *date = [dateFormatter1 dateFromString:dateStr];
    NSLog(@"Date : %@", date);
   The NSLog value is "2012-07-03 01:56:48 +0000";

NSLog 值为“2012-07-03 01:56:48 +0000”;我不知道为什么时间变了。谁能帮我做到这一点?

4

3 回答 3

2

您需要将时区设置为:

theDateFormatter.timeZone = [NSTimeZone timeZoneForSecondsFromGMT:0];

因为它正在考虑 GMT 时间格式。

于 2012-07-09T14:11:39.350 回答
1

您必须设置NSDateFormatter.

于 2012-07-09T14:11:32.033 回答
0

默认情况下,在将字符串转换为 nsdate 时,日期以 utc 格式保存...您可以从日期获取原始时间作为字符串..如果您想更改时区,请使用 dateformatter 进行更改..否则不要更改

于 2013-09-12T07:07:35.243 回答