使用SimpleDateFormat進行日期格式轉換時遇到的問題

最近寫代碼的時候,使用了SimpleDateFormat對Date進行格式轉換,剛開始我是這樣寫的:

SimpleDateFormat sdf = new SimpleDateFormat("HH:MM:SS");

這樣寫乍一看似乎沒有什麼毛病,但是實質上隱藏了很大的問題。仔細看一看構造參數中的"HH:MM:SS",當時我並不知道H、M、S的大小寫分別代表了不同的意思,所以導致時間格式並沒有轉換成我想要的格式。

以下是JDK1.8文檔中的日期格式說明:

使用H代表時間是按照24小時制進行轉換的,使用h代表時間是按照12小時制進行轉換的;M代表月份,m代表分鐘;S代表秒,而s代表毫秒。

我本來是想將時間轉換成時分秒,但是按照"HH:MM:SS"進行時間格式轉換時,實質上是轉換成了時、月、毫秒,所以我轉換出來的秒是三位數,如下圖所示:

而正是因爲秒位是三位數,所以導致我的數據格式校驗一直不通過,程序一直報錯。

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