‘YYYY’與‘yyyy’的區(qū)別(時(shí)間戳轉(zhuǎn)換時(shí)間問題)

今天一大早公司客服就反饋了一個(gè)問題,客戶端的時(shí)間出現(xiàn)了一個(gè)很詭異的問題:過期的券顯示過期時(shí)間是2018-12-31悟泵。2018年才過了一天港华,而且還是已經(jīng)過期的脾歇,應(yīng)該是2017才對(duì)刻蟹。
通過debug發(fā)現(xiàn)逗旁,服務(wù)端傳的時(shí)間戳是沒問題的,那就只能是客戶端時(shí)間戳轉(zhuǎn)換的問題了舆瘪∑В可是換了幾個(gè)時(shí)間戳都沒問題,實(shí)驗(yàn)了一下1483146000(2016-12-31 09:00:00)和1546218000(2018-12-31 09:00:00)時(shí)間戳之后英古,發(fā)現(xiàn)1546218000這個(gè)時(shí)間戳也出現(xiàn)了同樣的問題淀衣。檢查代碼發(fā)現(xiàn)時(shí)間戳的轉(zhuǎn)換方法沒有任何問題,然后查了官方文檔召调,官方文檔給的demo是這樣的:
RFC3339DateFormatter = [[NSDateFormatter alloc] init];
RFC3339DateFormatter.locale = [NSLocale localeWithLocaleIdentifier:@"en_US_POSIX"];
RFC3339DateFormatter.dateFormat = @"yyyy-MM-dd'T'HH:mm:ssZZZZZ";
RFC3339DateFormatter.timeZone = [NSTimeZone timeZoneForSecondsFromGMT:0];
https://developer.apple.com/documentation/foundation/nsdateformatter?language=objc

對(duì)比發(fā)現(xiàn)我們客戶端設(shè)置formatter的格式是使用的是‘YYYY-MM-dd HH:mm:ss’膨桥,在year轉(zhuǎn)換時(shí),用的是‘YYYY’某残,官方文檔用的‘yyyy’国撵,然后我就將大寫改為小寫試了一下陵吸,然后問題就解決了玻墅。
也就是說問題在year轉(zhuǎn)換時(shí)出的問題,Google了一下壮虫,發(fā)現(xiàn)iOS確實(shí)有這方面的問題澳厢,解釋是這么說的:
YYYY是以周來計(jì)算年的环础,意思是當(dāng)天所在周屬于的年份,一周從周日開始算計(jì)算剩拢,周六結(jié)束线得,只要本周跨年,那么這一周就算下一年的徐伐。
也就是說:年份如果用Y會(huì)是這周的年份贯钩,y才是標(biāo)準(zhǔn)的年份。
這一點(diǎn)官方文檔沒說明办素,所以還是自己注意點(diǎn)吧角雷,以后轉(zhuǎn)換日期格式的時(shí)候記得還是用@“yyyy-MM-dd”這種格式吧,避免出現(xiàn)這種情況衍生的bug性穿。

使用NSDateFormatter轉(zhuǎn)換時(shí)間格式勺三,需要的參數(shù)如下:
G: 公元時(shí)代,例如AD公元
yy: 年的后2位
yyyy: 完整年
MM: 月需曾,顯示為1-12
MMM: 月吗坚,顯示為英文月份簡寫,如 Jan
MMMM: 月,顯示為英文月份全稱呆万,如 Janualy
dd: 日商源,2位數(shù)表示,如02
d: 日谋减,1-2位顯示炊汹,如 2
EEE: 簡寫星期幾,如Sun
EEEE: 全寫星期幾逃顶,如Sunday
aa: 上下午讨便,AM/PM
H: 時(shí),24小時(shí)制以政,0-23
K:時(shí)霸褒,12小時(shí)制,0-11
m: 分盈蛮,1-2位
mm: 分废菱,2位
s: 秒,1-2位
ss: 秒抖誉,2位
S: 毫秒

 常用日期結(jié)構(gòu):
         yyyy-MM-dd HH:mm:ss.SSS
         yyyy-MM-dd HH:mm:ss
         yyyy-MM-dd
         MM dd yyyy
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末殊轴,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子袒炉,更是在濱河造成了極大的恐慌旁理,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件我磁,死亡現(xiàn)場(chǎng)離奇詭異孽文,居然都是意外死亡驻襟,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門芋哭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來沉衣,“玉大人,你說我怎么就攤上這事减牺⊥阆埃” “怎么了?”我有些...
    開封第一講書人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵拔疚,是天一觀的道長斑鸦。 經(jīng)常有香客問我,道長草雕,這世上最難降的妖魔是什么巷屿? 我笑而不...
    開封第一講書人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮墩虹,結(jié)果婚禮上嘱巾,老公的妹妹穿的比我還像新娘。我一直安慰自己诫钓,他們只是感情好旬昭,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著菌湃,像睡著了一般问拘。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上惧所,一...
    開封第一講書人閱讀 49,784評(píng)論 1 290
  • 那天骤坐,我揣著相機(jī)與錄音,去河邊找鬼下愈。 笑死纽绍,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的势似。 我是一名探鬼主播拌夏,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼履因!你這毒婦竟也來了障簿?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤栅迄,失蹤者是張志新(化名)和其女友劉穎站故,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體霞篡,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡世蔗,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年端逼,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了朗兵。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片污淋。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖余掖,靈堂內(nèi)的尸體忽然破棺而出寸爆,到底是詐尸還是另有隱情,我是刑警寧澤盐欺,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布赁豆,位于F島的核電站,受9級(jí)特大地震影響冗美,放射性物質(zhì)發(fā)生泄漏魔种。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一粉洼、第九天 我趴在偏房一處隱蔽的房頂上張望节预。 院中可真熱鬧,春花似錦属韧、人聲如沸安拟。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽糠赦。三九已至,卻和暖如春锅棕,著一層夾襖步出監(jiān)牢的瞬間拙泽,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來泰國打工裸燎, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留奔滑,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓顺少,卻偏偏與公主長得像朋其,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子脆炎,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348