我在更改日期格式时遇到错误的日期,我正在使用以下代码
NSDateFormatter * formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"MMM dd, YYYY"];
NSDate * theDate = [NSDate dateWithTimeIntervalSince1970:1419929948.7490001];
NSString * dateStr = [formatter stringFromDate:theDate];
输出 -
theDate is : 2014-12-30 08:59:08 +0000
dateStr is : Dec 30, 2015
由于
答案 0 :(得分:3)
您希望使用yyyy
代替YYYY
。小y
是日历年,而大写Y
是"年中的一年"。
以下是the specification的解释。
F.4周的年度
为公历日历计算的年周数字段的值范围为1到53(对于其他日历,它们可能具有不同的范围)。一年的第1周是至少包含该年度的指定最小天数的第一周。一年的第1周和下一年的第1周之间的周数从2到52或53(如果需要)顺序编号。例如,1998年1月1日是星期四。如果一周的第一天是星期一,一周的最短天数是4(这些是反映ISO 8601和许多国家标准的值),那么1998年第1周开始于1997年12月29日,并于1月4日结束,但是,如果一周的第一天是星期日,那么1998年第1周开始于1998年1月4日,并于1998年1月10日结束。1998年的前三天是1997年第53周的一部分。 / p>
答案 1 :(得分:1)
更改以下行代码。
[formatter setDateFormat:@"MMM dd, yyyy"];
输出是:
答案 2 :(得分:1)
使用以下行
[formatter setDateFormat:@" MMM dd,yyyy"];
答案 3 :(得分:0)
按类别
+ (NSString *)dateStampFromDate:(NSDate *)date
{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MMM dd, yyyy"];
NSString *timeStamp = [dateFormatter stringFromDate:date];
return timeStamp;
}