我有一个以毫秒为单位的日期时间戳:
145146240000
我从该时间戳创建一个NSDate对象:
NSTimeInterval seconds = [@"1451462400000" doubleValue] / 1000.0f;
NSDate *transactionDate = [NSDate dateWithTimeIntervalSince1970:seconds];
NSLog(@"%@", transactionDate);
我记录transactionDate
的值: 2015-12-30 08:00:00 +0000
然后我使用NSDateFormatter
输出此日期:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"d MMMM YYYY"];
NSLog(@"%@", [dateFormatter stringFromDate:transactionDate]);
这错误地将年份输出为 2016年!:
30 December 2016
这怎么可能?我当地的时区是格林尼治标准时间+2,所以如果格式化程序解析它可能会被两个小时关闭,但不是整整一年!
答案 0 :(得分:2)
请使用yyyy作为年份格式,如
[dateFormatter setDateFormat:@"d MMMM yyyy"];
我希望它会对你有所帮助。
了解更多信息,请查看