1

我正在将 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

我不知道为什么我在这次转换中损失了一年。到目前为止,在我的所有研究中,似乎这个转换过程中最难的部分是确保格式正确,并且由于我的输出日期格式正确,我觉得还有其他问题。我有什么遗漏或做错了吗?

4

2 回答 2

3

将日期格式从 更改 YYYYyyyy

于 2013-01-19T18:42:01.897 回答
1

日期格式化程序相关的东西。

d: 1~31 (0 填充的日期) D: 1~366 (0 填充的日期)

e:1~7(0 填充星期几) E~EEE:周日/周一/周二/周三/周四/周五/周六 EEEE:周日/周一/周二/周三/周四/周五/周六

M/MM: 1~12 (0 填充月) MMM: 一月/二月/三月/四月/五月/六月/七月/八月/九月/十月/十一月/十二月 MMMM: 一月/二月/三月/四月/五月/六月/七月/八月/九月/十月/十一月/十二月

y/yyyy:(全年) yy/yyy:(2 位数年份) Y/YYYY:(全年,从一年中第一周的星期日开始) YY/YYY:(2 位数年份,从一年的第一周)

于 2013-01-20T17:40:18.520 回答