String轉java.sql.Date

String轉java.sql.Date

一 問題描述

因爲數據庫中的字段是Date,然後在網上找數據庫中的Date對應Java中的什麼類型,結果發現對應java.sql.Date【注意不是java.util.Date!!!】所以纔將pojo裏面關於時間的字段設置爲java.sql.Date類型。接着我就爲我自己埋下了坑…

有個功能實現的時候我需要將String轉換成java.sql.Date,於是我就百度搜了相關的方法:

String str = "2019-12-04";
java.sql.Date date = java.sql.Date.valueOf(str);

網上都是這樣的!!!於是我就這樣寫了【因爲我只需要年月】

String str = "201912";
java.sql.Date date = java.sql.Date.valueOf(str);

但是!出現了:IllegalArgumentException的異常。我心想會不會是因爲-的原因,於是我這樣寫:

String str = "2019-12";
java.sql.Date date = java.sql.Date.valueOf(str);

OMG!它還是這個異常,於是我百度,發現原因

二 解決辦法

在java.sql.Date類中有一個叫valueOf(String s)的方法,它返回的方法就是你要的類型,不過它對傳入的String s有一定的顯示,必須是“yyyy-mm-dd”格式的數據。如果不是制定格式的數據,他會拋出“IllegalArgumentException”的異常。

所以我知道了,要這樣寫:

//自己拼接了日
String str = "2019-12-01";
java.sql.Date date = java.sql.Date.valueOf(str);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章