詳細介紹JAVA中日期 yyyy-MM-dd HH:mm:ss

問題描述

使用new SimpleDateFormat(“yyyy-MM-DD HH:mm:ss”).parse(“2019-05-27 22:47:31”);構造出來的時間與預期的不符。

災難現場還原

 Date startDate = new SimpleDateFormat("yyyy-MM-DD HH:mm:ss").parse("2019-05-27 22:47:31");

打印出來的結果卻是2019-01-27 22:47:31

原因

yyyy-MM-DD應該改爲yyyy-MM-dd。

分析說明各字段的含義

字段 說明
yyyy或YYYY 年。注意這個大小寫是不同的!!!y 是Year, Y 表示的是Week year。 經過試驗,得出的結果如下:Week year 意思是當天所在的周屬於的年份,一週從週日開始,週六結束,只要本週跨年,那麼這周就算入下一年。
MM 月。M大寫是爲了區分“月”與“分”
dd 日。必須小寫,大寫有時會出現本文上面出現的詭異bug
HH或hh或H 時。大小寫不同!!!小寫的h是12小時制,大寫的H是24小時制。HH和H區別在於是否有前導0
mm或者m 分。mm與m的區別爲是否有前導零
ss或者s 秒。ss和s的區別爲是否有前導零

何爲”前導0”

比如凌晨1點2分,HH:mm顯示爲01:02,H:m顯示爲1:2。

參考

https://blog.csdn.net/bai120552717/article/details/79375697
http://www.mamicode.com/info-detail-2055944.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章