Java Date與String的相互轉(zhuǎn)換詳解
Java Date與String的相互轉(zhuǎn)換詳解
前言:
我們在注冊網(wǎng)站的時候,往往需要填寫個人信息,如姓名,年齡,出生日期等,在頁面上的出生日期的值傳遞到后臺的時候是一個字符串,而我們存入數(shù)據(jù)庫的時候確需要一個日期類型,反過來,在頁面上顯示的時候,需要從數(shù)據(jù)庫獲取出生日期,此時該類型為日期類型,然后需要將該日期類型轉(zhuǎn)為字符串顯示在頁面上,Java的API中為我們提供了日期與字符串相互轉(zhuǎn)運的類DateForamt。DateForamt是一個抽象類,所以平時使用的是它的子類SimpleDateFormat。SimpleDateFormat有4個構(gòu)造函數(shù),最經(jīng)常用到是第二個。
構(gòu)造函數(shù)中pattern為時間模式,具體有什么模式,API中有說明,如下
1、日期轉(zhuǎn)字符串(格式化)
package com.test.dateFormat; import java.text.SimpleDateFormat; import java.util.Date; import org.junit.Test; public class Date2String { @Test public void test() { Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); System.out.println(sdf.format(date)); sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println(sdf.format(date)); sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); System.out.println(sdf.format(date)); } }
2016-10-24 2 2016-10-24 21:59:06 3 2016年10月24日 21:59:06
2、字符串轉(zhuǎn)日期(解析)
package com.test.dateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import org.junit.Test; public class String2Date { @Test public void test() throws ParseException { String string = "2016-10-24 21:59:06"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println(sdf.parse(string)); } }
Mon Oct 24 21:59:06 CST 2016
在字符串轉(zhuǎn)日期操作時,需要注意給定的模式必須和給定的字符串格式匹配,否則會拋出java.text.ParseException異常,例如下面這個就是錯誤的,字符串中并沒有給出時分秒,那么SimpleDateFormat當然無法給你憑空解析出時分秒的值來
package com.test.dateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import org.junit.Test; public class String2Date { @Test public void test() throws ParseException { String string = "2016-10-24"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println(sdf.parse(string)); } }
不過,給定的模式比字符串少則可以
package com.test.dateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import org.junit.Test; public class String2Date { @Test public void test() throws ParseException { String string = "2016-10-24 21:59:06"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); System.out.println(sdf.parse(string)); } }
Mon Oct 24 00:00:00 CST 2016
可以看出時分秒都是0,沒有被解析,這是可以的。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關文章
Spring強大事務兼容數(shù)據(jù)庫多種組合解決業(yè)務需求
這篇文章主要為大家介紹了Spring強大事務兼容數(shù)據(jù)庫多種組合解決業(yè)務需求示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-07-07SpringMVC獲取請求參數(shù)和域?qū)ο蠊蚕頂?shù)據(jù)的示例代碼
這篇文章主要給大家介紹了SpringMVC獲取請求參數(shù)和域?qū)ο蠊蚕頂?shù)據(jù)的示例代碼,文中通過代碼示例給大家介紹的非常詳細,具有一定的參考價值,需要的朋友可以參考下2023-12-12springboot整合xxl-job實現(xiàn)分布式定時任務的過程
XXL-JOB是一個分布式任務調(diào)度平臺,其核心設計目標是開發(fā)迅速、學習簡單、輕量級、易擴展,這篇文章主要介紹了springboot整合xxl-job分布式定時任務,需要的朋友可以參考下2022-08-08