NSFormatter dateFromString小时问题!

时间:2011-02-07 21:58:10

标签: iphone objective-c nsformatter

当我尝试将NSString转换为NSDate时... setDateFormat让我再回来3个小时!

示例

NSDateFormatter *inFormat2 = [[NSDateFormatter alloc] init];
[inFormat2 setDateFormat:@"MM/dd/yyyy HH:mm:ss"]; //MM/dd/yyyy/

NSDate *seekLightStart = [inFormat2 dateFromString:@"01/01/2001 06:37:35"];  

NSDateFormatter *inputFormatter = [[NSDateFormatter alloc] init];
[inputFormatter setDateFormat:@"yyyy-MM-dd 'at' HH:mm"];

NSDate *formatterDate = [inputFormatter dateFromString:@"1999-07-11 at 10:30"];

seekLightStart - > 01/01/2001 9:37:35 formatterDate ---> 07/11/1999 13:30

为什么??

1 个答案:

答案 0 :(得分:0)

NSDateFormatter有一个timeZone属性。当您使用-dateFromString:时,它使用this和其他状态属性来生成生成的NSDate对象。我猜测默认时区不是你的时区,而是你错误的来源。

NSTimeZone:http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSTimeZone_Class/Reference/Reference.html