我已经在互联网上搜索很长时间了,但是找不到解决方案。我已经从Web服务收到一个日期字符串"22 May 2014"
,NSDate
格式为,我必须将其转换为格式以与当前日期进行核对。而且我必须从Web服务中找出日期是将来还是过去的时间。
实际的问题是,当我使用
NSDate *date;
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd MMMM YYYY"];
date = [dateFormatter dateFromString:dateString];
但是我得到了一个完全不同的日期,示例输入dateString:22 June 2014
和我得到的输出是2013-12-21 18:30:00+0000
请提出任何解决方案。
提前致谢。:)
您正在使用YYYY
,这并不意味着您认为的含义。从TR35-31文档中,Y
是“年周日历中的年”的符号。
您需要将其dd MMMM yyyy
作为格式字符串。混合基于周的字段和常规的日/月/年字段是解决奇怪问题的秘诀。
此外,您可能希望在格式化程序中设置时区-如果您仅解析日期,则应考虑使用UTC,并确保所有计算和格式化/解析都使用UTC。
(我怀疑这里的问题是尚未设置年份的周,因此假定为1 ...,而2014年的周是从12月30日开始的。然后将月份的天设置为22 dd部分,然后考虑UTC + 05:30的时区偏移。)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句