[英]iOS dateFormatter dateFromString month issue
希望这只是一个快速的方法,我想念一些简单的东西...
我有一个NSDateFormatter,用于将字符串2011-11-10转换为Date对象。
NSDateFormatter *fmtDate = [[NSDateFormatter alloc] init];
[fmtDate setDateFormat:@"YYYY-MM-DD"];
// input of 2011-11-10, output of 2011-01-10 00:00:00 +0000
[appointment setDate:[fmtDate dateFromString:
[tempAppointment objectForKey:@"date"]
]];
NSDateFormatter的返回值存储在managedObjectContext中。 我的问题是dateFormatter返回的日期为2011-01-10 00:00:00 +0000
为什么将月份从11月减少到1月? 保留年份和日期的罚款,但不保留月份。
我需要包括日期存储时间吗? 还是与我设置的格式有关?
尝试使用@@ yyyy-MM-dd格式,以获得“使用格式字符串指定自定义格式”部分中此处指定的格式。 它有一个示例,并将YYYY列为常见错误。
您使用YYYY的日期格式字符串不正确。 尝试yyyy-Md或yyyy-MM-dd
NSString *dateString = @"2011-11-10";
NSDateFormatter *fmtDate = [[NSDateFormatter alloc] init];
[fmtDate setDateFormat:@"yyyy-M-d"];
NSDate *date = [fmtDate dateFromString:dateString];
NSLog(@"date: %@", date);
输出:
2011-11-10 20:01:40.638 Craplet[81514:707] date: 2011-11-10 05:00:00 +0000
看到:
http://unicode.org/reports/tr35/tr35-10.html#Date_Format_Patterns
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.