搜尋

首頁  >  問答  >  主體

ios - 神奇问题:时间戳转换成字符串 出现错误,只有15-12-27之后的错误。


这个时间戳本来是2015-12-27
但是打印出来是2016-12-27

时间戳:
1451145600

[formatter setDateFormat:@"YYYY-MM-dd"];
NSTimeZone* timeZone = [NSTimeZone timeZoneWithName:@"Asia/Shanghai"];
[formatter setTimeZone:timeZone];
[formatter stringFromDate:endDate]
大家讲道理大家讲道理2917 天前501

全部回覆(1)我來回復

  • PHP中文网

    PHP中文网2017-04-18 09:17:20

    你的格式化字串裡應該用小寫的 yyyy 而不是大寫的 YYYY。大寫的 YYYY 會格式化年份為 ISO週日曆 中的年份,大部分時候是相同的,但是在一年的年末和年初的幾天就可能會不同,詳見維基百科。

    A common mistake is to use YYYY. yyyy specifies the calendar year whereas YYYY specifies the year (of “Week of Year”), used in the ISO year-week calendar. In most cases, yyyy and YYYY yield the same number, however they may be different. Typically you should use the calendar year.

    refs:https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/DataFormatting/Articles/dfDateFormatting10_4.html#//apple_ref/doc/uid/TP40002369-SW44

    回覆
    0
  • 取消回覆