我正在将NSString转换为NSDate并遇到最终转换中年份错误的问题。
我的输入日期为2013-05-27 03:38:20 +0000
(在下面的代码中列为lastEntry.date)
我的转换代码如下:
//Convert String to NSDate
NSDateFormatter *originalDateFormat = [[NSDateFormatter alloc] init];
[originalDateFormat setDateFormat:@"YYYY-MM-dd hh:mm:ss Z"];
[originalDateFormat setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];
NSDate *originalEndDate = [originalDateFormat dateFromString:lastEntry.date];
NSLog(@"Converted End Date = %@", [originalDateFormat stringFromDate:originalEndDate]);
我得到的最终输出是:Converted End Date = 2012-05-27 03:38:20 +0000
我不确定为什么我在转换过程中失去了一年。在我迄今为止的所有研究中,似乎这个转换过程中最困难的部分是确保格式正确,并且由于我的输出日期格式正确,我觉得还有其他问题。有什么东西我错过了或做错了吗?
答案 0 :(得分:3)
将日期格式从YYYY
更改为yyyy
。
答案 1 :(得分:1)
日期格式化程序相关内容。
d:1~31(0月填充日) D:1~366(0年填充日)
e:1~7(0周填充日) E~EEE:周一/周一/周二/周三/周四/周五/周六 EEEE:周日/周一/周二/周三/周四/周五/周六
M / MM:1~12(0填充月份) MMM:Jan / Feb / Mar / Apr / May / Jun / Jul / Aug / Sep / Oct / Nov / Dec MMMM:1月/ 2月/ 3月/ 4月/ 5月/ 6月/ 7月/ 8月/ 9月/ 10月/ 11月/ 12月 是的/ yyyy :(全年) yy / yyy:(2位数年份) Y / YYYY :(全年,从一年的第一周的星期日开始) YY / YYY :( 2位数年份,从一年的第一周的星期日开始)