希望这只是个速战速决我错过了一些简单的..。
我有一个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 :00 +0000
为什么要把这个月从十一月减到一月呢?它保留了一年和一天的好天气,但不是这个月。
我需要包括存储日期的时间吗?还是跟我设定的格式有关?
发布于 2011-11-11 01:02:30
您的日期格式字符串使用YYYY不正确。试试或
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请参见:
模式
发布于 2011-11-11 01:07:37
在“使用格式字符串指定自定义格式”部分中,尝试格式@“yyyy”作为指定的这里格式。它有一个例子,并将YYYY列为一个常见的错误。
https://stackoverflow.com/questions/8088390
复制相似问题