【发布时间】:2013-04-16 06:38:41
【问题描述】:
我得到了一些格式为“04/11/13 19:37:00”的日期,我想将此日期转换为本地时区,下面是我正在使用的代码。
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"MM/dd/yy HH:mm:ss";
NSTimeZone *gmt = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
[dateFormatter setTimeZone:gmt];
NSDate *date = [dateFormatter dateFromString:dateString];
NSLog(@"date value %@",date);
我面临的问题是当我将鼠标放在显示“2013-04-12 01:07:00 IST”的“日期”变量上时,我正在使用调试器这是正确的输出我需要。但是当我使用 NSLog 打印相同的“日期”变量时,我得到“2013-04-11 19:37:00 +0000”。我怎样才能得到正确的格式,任何人都可以显示,我需要更改 dateformat。
【问题讨论】:
-
NSDate 的描述将始终使用 UTC。您可以看到 IST 时区比 UTC 早 5.30 小时,因此您的日期是正确的。
-
如何像这样将“2013-04-11 19:37:00 +0000”转换为本地时区“2013-04-12 01:07:00 IST”
-
我假设您获得的时间是 GMT,然后您想将 UTC 转换为本地时区。如果是这种情况,您可以在 dateFormatter 中将时区设置为本地。
标签: ios nsdate nsdateformatter