之前在維護(hù)公司的項(xiàng)目時(shí),公司的測(cè)試人員反饋說,在app里有個(gè)對(duì)賬查詢的模塊,每年會(huì)出現(xiàn)幾天時(shí)間錯(cuò)亂的問題,,篩選的時(shí)候,年份總是會(huì)往后推一年,過幾天又會(huì)恢復(fù)正常.前面的開發(fā)也一直沒解決.這時(shí)候,我可能覺得問題就是在時(shí)間轉(zhuǎn)換這塊了.
對(duì)于年份來說,Y和y其實(shí)意義是不同的,y表示的是year具體精確到某一天,基本上是符合我們開發(fā)中用來判斷或者進(jìn)行時(shí)間轉(zhuǎn)換的需求的,也是蘋果官方所推崇的用法.而Y表示的事Week year,也就是當(dāng)天所在的一周所屬的年份,意思是當(dāng)天所在的周屬于的年份,一周從周日開始,周六結(jié)束,只要本周跨年,那么這周就算入下一年。簡(jiǎn)單舉例來說:今天是2020年12月31號(hào)禮拜天,是這一周的第一天,到了明天,就已經(jīng)是2021年1月1號(hào)了,那么今天的時(shí)間在轉(zhuǎn)化年份的時(shí)候,也會(huì)顯示為2021年,因此,在具體根據(jù)時(shí)間查詢數(shù)據(jù)的時(shí)候,如果將yyyy寫成YYYY,在跨年的一周里,未跨年的幾天所顯示的年份都會(huì)出現(xiàn)問題,進(jìn)而會(huì)影響到對(duì)應(yīng)的時(shí)間查詢.在解決這個(gè)問題后,我又在整個(gè)項(xiàng)目進(jìn)行了全局搜索,確認(rèn)產(chǎn)品不存在按周跨年的需求算法后,將所有的YYYY全局替換成yyyy.至此問題解決.