我在将字符串转换为NSDate对象时遇到问题,我不确定原因。
NSString* tester= @"2012-11-26T10:20:40.187";
NSLog(@"", tester); //Print the Date String
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'"];
NSDate *date = [formatter dateFromString:tester]; //Store the date
NSDateFormatter *output = [[NSDateFormatter alloc] init];
[output setDateStyle:NSDateFormatterMediumStyle];
NSLog(@"DATE OBJECT:%@\nDATE STRING: \"%@\"", [output stringFromDate:date]); //Print the NSDate object and the string
但我似乎得到的只是:
DATE OBJECT:(null)
DATE STRING: "2012-11-26T10:20:40.187"
我觉得它与.187有关,但我不确定。我很抱歉,如果这是重复但我无法弄明白。
非常感谢你!
答案 0 :(得分:1)
毫秒的缩写是“S”而不是Z,它是TimeZone。 您似乎已经阅读了该示例所在的正确文档,但是 你错过了Unicode技术标准#35的链接。 请参阅NsDateFormatter Docu,搜索“Mac OS X v10.4中的格式化程序使用版本tr35-4”。
尝试以下方法:
[formatter setDateFormat:@"yyyy'-'MM'-'dd'T'HH':'mm':'ss.SSS"];