1

当我尝试将 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

为什么 ??

4

1 回答 1

0

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

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

于 2011-02-07T22:49:54.080 回答