NSDateFormatter 给出不同的输出/错误(GMT?)时间

Posted

技术标签:

【中文标题】NSDateFormatter 给出不同的输出/错误(GMT?)时间【英文标题】:NSDateFormatter gives different output/wrong (GMT?) time 【发布时间】:2011-11-19 10:21:57 【问题描述】:

我已尝试设置 NSDateFormatter 的时区和语言环境,但似乎无法正常工作。这是代码

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"MM/dd/yyyy hh:mm:ss"];
NSString *myFireDateString=[@"9/17/11" stringByAppendingString:@" 09:00:00"];
NSDate *myFireDate = [dateFormat dateFromString:myFireDateString];  
NSLog(@"The datestring is is %@",myFireDateString);
NSLog(@"The formatted date is %@",myFireDate);

这是输出:

日期字符串是 9/17/11 09:00:00

格式化日期为2011-09-17 13:00:00

【问题讨论】:

【参考方案1】:

你需要为你的 dateFormatter 设置一个时区:

[dateFormatter setTimeZone:[NSTimeZone defaultTimeZone];

见NSDate from NSString , shows the previous day

【讨论】:

以上是关于NSDateFormatter 给出不同的输出/错误(GMT?)时间的主要内容,如果未能解决你的问题,请参考以下文章

Foundation框架—时间输出格式NSDateFormatter

NSDateFormatter 和 NSDateComponents 的输出 NSDate 之间的区别

NSDateFormatter 没有意义

NSDateFormatter 和 NSDateComponents 为周数返回不同的值

NSDateFormatter常见的使用方式

共享 NSDateFormatter - 最佳实践?