住房和城鄉(xiāng)建設(shè)部電工證廊坊優(yōu)化技巧
項目場景:
雙周項目管理,需要獲取當(dāng)前周為一年之中的第幾周,原先的代碼是用Calendar對象,先用setTime()把當(dāng)前時間傳入,再用get(3)獲取一年中的第幾周
問題描述
實際發(fā)現(xiàn)會比真實的周少一點,且時間是周日到周六為一周
原因分析:
經(jīng)排除發(fā)現(xiàn),這個api的計算規(guī)則是有一定問題的。
首先它是以星期日為一周的開始,星期六為一周的結(jié)束。
解決方案:
獲取當(dāng)前年1號的星期幾,再去用當(dāng)前時間+星期幾-1day得到一個時間,將這個時間傳入setTime()中,get(3)得到的就是正常的當(dāng)前周了