繁体   English   中英

iOS dateFormatter dateFromString月发行

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM