Java Date與String的相互轉(zhuǎn)換詳解
Java Date與String的相互轉(zhuǎn)換詳解
前言:
我們?cè)谧?cè)網(wǎng)站的時(shí)候,往往需要填寫(xiě)個(gè)人信息,如姓名,年齡,出生日期等,在頁(yè)面上的出生日期的值傳遞到后臺(tái)的時(shí)候是一個(gè)字符串,而我們存入數(shù)據(jù)庫(kù)的時(shí)候確需要一個(gè)日期類型,反過(guò)來(lái),在頁(yè)面上顯示的時(shí)候,需要從數(shù)據(jù)庫(kù)獲取出生日期,此時(shí)該類型為日期類型,然后需要將該日期類型轉(zhuǎn)為字符串顯示在頁(yè)面上,Java的API中為我們提供了日期與字符串相互轉(zhuǎn)運(yùn)的類DateForamt。DateForamt是一個(gè)抽象類,所以平時(shí)使用的是它的子類SimpleDateFormat。SimpleDateFormat有4個(gè)構(gòu)造函數(shù),最經(jīng)常用到是第二個(gè)。
構(gòu)造函數(shù)中pattern為時(shí)間模式,具體有什么模式,API中有說(shuō)明,如下
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)日期操作時(shí),需要注意給定的模式必須和給定的字符串格式匹配,否則會(huì)拋出java.text.ParseException異常,例如下面這個(gè)就是錯(cuò)誤的,字符串中并沒(méi)有給出時(shí)分秒,那么SimpleDateFormat當(dāng)然無(wú)法給你憑空解析出時(shí)分秒的值來(lái)
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)); } }
不過(guò),給定的模式比字符串少則可以
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
可以看出時(shí)分秒都是0,沒(méi)有被解析,這是可以的。
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
沒(méi)有外網(wǎng)IDEA離線使用maven倉(cāng)庫(kù)的方法
這篇文章主要介紹了沒(méi)有外網(wǎng),IDEA如何離線使用maven倉(cāng)庫(kù),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08Spring強(qiáng)大事務(wù)兼容數(shù)據(jù)庫(kù)多種組合解決業(yè)務(wù)需求
這篇文章主要為大家介紹了Spring強(qiáng)大事務(wù)兼容數(shù)據(jù)庫(kù)多種組合解決業(yè)務(wù)需求示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07SpringMVC獲取請(qǐng)求參數(shù)和域?qū)ο蠊蚕頂?shù)據(jù)的示例代碼
這篇文章主要給大家介紹了SpringMVC獲取請(qǐng)求參數(shù)和域?qū)ο蠊蚕頂?shù)據(jù)的示例代碼,文中通過(guò)代碼示例給大家介紹的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下2023-12-12Java動(dòng)態(tài)規(guī)劃之編輯距離問(wèn)題示例代碼
這篇文章主要介紹了Java動(dòng)態(tài)規(guī)劃之編輯距離問(wèn)題示例代碼,具有一定參考價(jià)值,需要的朋友可以了解下。2017-11-11springboot整合x(chóng)xl-job實(shí)現(xiàn)分布式定時(shí)任務(wù)的過(guò)程
XXL-JOB是一個(gè)分布式任務(wù)調(diào)度平臺(tái),其核心設(shè)計(jì)目標(biāo)是開(kāi)發(fā)迅速、學(xué)習(xí)簡(jiǎn)單、輕量級(jí)、易擴(kuò)展,這篇文章主要介紹了springboot整合x(chóng)xl-job分布式定時(shí)任務(wù),需要的朋友可以參考下2022-08-08在mybatis 中使用if else 進(jìn)行判斷的操作
這篇文章主要介紹了在mybatis 中使用if else 進(jìn)行判斷的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-02-02