Java Date與String的相互轉(zhuǎn)換詳解
Java Date與String的相互轉(zhuǎn)換詳解
前言:
我們?cè)谧?cè)網(wǎng)站的時(shí)候,往往需要填寫個(gè)人信息,如姓名,年齡,出生日期等,在頁面上的出生日期的值傳遞到后臺(tái)的時(shí)候是一個(gè)字符串,而我們存入數(shù)據(jù)庫的時(shí)候確需要一個(gè)日期類型,反過來,在頁面上顯示的時(shí)候,需要從數(shù)據(jù)庫獲取出生日期,此時(shí)該類型為日期類型,然后需要將該日期類型轉(zhuǎn)為字符串顯示在頁面上,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中有說明,如下

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ò)誤的,字符串中并沒有給出時(shí)分秒,那么SimpleDateFormat當(dāng)然無法給你憑空解析出時(shí)分秒的值來
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
可以看出時(shí)分秒都是0,沒有被解析,這是可以的。
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
PowerJobAutoConfiguration自動(dòng)配置源碼流程解析
這篇文章主要為大家介紹了PowerJobAutoConfiguration自動(dòng)配置源碼流程解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12
Java簡(jiǎn)單使用redis-zset實(shí)現(xiàn)排行榜
這篇文章主要介紹了Java簡(jiǎn)單使用redis-zset實(shí)現(xiàn)排行榜,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
java實(shí)現(xiàn)fibonacci數(shù)列學(xué)習(xí)示例分享(斐波那契數(shù)列)
這篇文章主要介紹了fibonacci數(shù)列(斐波那契數(shù)列)示例,大家參考使用吧2014-01-01
Java基礎(chǔ)鞏固小項(xiàng)目點(diǎn)菜系統(tǒng)的實(shí)現(xiàn)
這篇文章主要介紹了一個(gè)Java小項(xiàng)目點(diǎn)菜系統(tǒng)的實(shí)現(xiàn),主要是用的集合,適合正在學(xué)習(xí)Java的朋友拿來實(shí)戰(zhàn)練手,感興趣的朋友快來看看吧2022-03-03
JAVA中使用FileWriter寫數(shù)據(jù)到文本文件步驟詳解
這篇文章主要介紹了JAVA中使用FileWriter寫數(shù)據(jù)到文本文件步驟詳解,FileWriter類提供了多種寫入字符的方法,包括寫入單個(gè)字符、寫入字符數(shù)組和寫入字符串等,它還提供了一些其他的方法,如刷新緩沖區(qū)、關(guān)閉文件等,需要的朋友可以參考下2023-10-10
Spring Boot Admin 進(jìn)行項(xiàng)目監(jiān)控管理的方法
Spring Boot Admin是一個(gè)開源社區(qū)項(xiàng)目,用于管理和監(jiān)控SpringBoot應(yīng)用程序。 這篇文章主要介紹了 Spring Boot Admin 進(jìn)行項(xiàng)目監(jiān)控管理的方法,需要的朋友可以參考下2020-07-07
SpringBoot項(xiàng)目更換項(xiàng)目名稱的實(shí)現(xiàn)
本文主要介紹了SpringBoot項(xiàng)目更換項(xiàng)目名稱,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-06-06

