我有一个nsdateformatter
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss.SSS"];
表示价值:2010-01-01 05:00:00.000
它返回正确的值
但价值为:2010-01-01 05:22:00.000
它返回null。
根据文档我是否正确分钟我假设使用“mm” 那么我的代码有什么问题,为什么它会返回nil?
答案 0 :(得分:4)
NSDateFormatter * f = [[NSDateFormatter alloc] init];
[f setDateFormat:@"yyyy-MM-dd HH:mm:ss.SSS"];
NSLog(@"%@", [f dateFromString:@"2010-01-01 05:00:00.000"]);
NSLog(@"%@", [f dateFromString:@"2010-01-01 05:22:00.000"]);
[f release];
日志:
2010-11-16 16:44:11.867 EmptyFoundation[42477:a0f] 2010-01-01 05:00:00 -0700
2010-11-16 16:44:11.868 EmptyFoundation[42477:a0f] 2010-01-01 05:22:00 -0700
所以它正在解析事情。因此,你在其他地方做错了。
答案 1 :(得分:0)
对我来说看起来很干净。我试了一下,得到了正确的结果:
NSDateFormatter *f = [[NSDateFormatter alloc] init];
[f setDateFormat:@"yyyy-MM-dd HH:mm:ss.SSS"];
NSDate *date = [f dateFromString:@"2010-01-02 03:44:55.666"];
NSLog(@"%@",date);
NSDateFormatter *f2 = [[NSDateFormatter alloc] init];
[f2 setDateFormat:@"d. MMMM yyyy HH mm ss SSS"];
NSString *s = [f2 stringFromDate:date];
NSLog(@"Date is really %@",s);
返回以下输出:
2010-11-16 18:48:35.221 Test3[6407:207] 2010-01-02 03:44:55 -0500
2010-11-16 18:48:35.223 Test3[6407:207] Date is really 2. January 2010 03 44 55 666