天天看點

new Date()導緻日期增加了一天

問題是:将字元串 "Sun Nov 12 14:00:00 CST 2017"  轉成Date類型

有一個簡單的方法是直接使用new Date(),但是這個方法對于某些日期的計算,會導緻多增加一天

檢視以下代碼

輸出結果是

Mon Nov 13 04:00:00 CST 2017

new Date(ans)這個方法,已經是不推薦的方法了,推薦使用 DateFormat.parse(String s)代替,關鍵就是如何設定格式化的格式了

日期格式化的格式為 "EEE MMM dd HH:mm:ss zzz yyyy"

CST是美國中部标準時間,是以還使用Locale.US

最終設定的日期格式化應該為:SimpleDateFormat dateFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);

附,日期格式化的規則

new Date()導緻日期增加了一天

注:格式化字元串中如果使用字元‘A’-‘Z’、‘a’-‘z’,需要使用單引号把它們括起來

把每一件簡單的事情做好,就是不簡單;把每一件平凡的事情做好,就是不平凡!相信自己,創造奇迹~~