Java:String和Date、Timestamp之間的轉(zhuǎn)換

一、String與Date(java.util.Date)互轉(zhuǎn)

[java]?view plain?copy

//?1.1、String?->?Date??

@org.junit.Test??

public?void?testStringToDate()?throws?ParseException?{??

String?dateStr?="2010-05-04?12:34:23";??


//注意format的格式要與日期String的格式相匹配??

SimpleDateFormat?sdf?=new?SimpleDateFormat("yyyy-MM-dd?HH:mm:ss");??

????Date?date?=?sdf.parse(dateStr);??

System.out.println(date.toString());//?Tue?May?04?12:34:23?CST?2010??

}??


//?1.2、Date?->?String??

@org.junit.Test??

public?void?testDateToString()?{??

Date?date?=new?Date();??

//format的格式可以任意??

DateFormat?sdf?=new?SimpleDateFormat("yyyy/MM/dd?HH:mm:ss");??

DateFormat?sdf2?=new?SimpleDateFormat("yyyy-MM-dd?HH/mm/ss");??


????String?dateStr?=?sdf.format(date);??

System.out.println(dateStr);//2017/01/15?13:52:05??


????dateStr?=?sdf2.format(date);??

System.out.println(dateStr);//?2017-01-15?13/52/05??

}??

二、String與Timestamp互轉(zhuǎn)

[java]?view plain?copy

//??2.1?String?->Timestamp??

//?使用Timestamp的valueOf()方法??

@org.junit.Test??

public?void?testStringToTimestamp()?{??

//?注:String的類型必須形如:?yyyy-mm-dd?hh:mm:ss[.f...]?這樣的格式,中括號表示可選,否則報(bào)錯(cuò)?。。??

//?如果String為其他格式,可考慮重新解析下字符串,再重組~~??

String?tsStr?="2011-05-09?11:49:45";??

Timestamp?ts?=?Timestamp.valueOf(tsStr);//?2011-05-09?11:49:45.0??

????System.out.println(ts);??

}??


//??2.2?Timestamp?->?String??

@org.junit.Test??

public?void?testTimestampToString()?{??

Timestamp?ts?=new?Timestamp(System.currentTimeMillis());??

DateFormat?sdf?=new?SimpleDateFormat("yyyy-MM-dd?HH:mm:ss");??


//方法一:優(yōu)勢在于可以靈活的設(shè)置字符串的形式。??

????String?tsStr?=?sdf.format(ts);??

System.out.println(tsStr);//?2017-01-15?21:17:04??

//方法二??

????tsStr?=?ts.toString();??

System.out.println(tsStr);//?2017-01-15?21:17:04.7??

}??

三、Date( java.util.Date )和Timestamp互轉(zhuǎn)

? 聲明:查API可知,Date和Timesta是父子類關(guān)系

? ? public class Timestamp extends java.util.Date {

[java]?view plain?copy

????//?3.1?Timestamp?->?Date??

@org.junit.Test??

public?void?testTimestampToDate()?{??

Timestamp?ts?=new?Timestamp(System.currentTimeMillis());??

????????Date?date?=?ts;??

System.out.println(date);//?2017-01-15?21:31:47.801??

//????????很簡單,但是此刻date對象指向的實(shí)體卻是一個(gè)Timestamp,即date擁有Date類的方法,但被覆蓋的方法的執(zhí)行實(shí)體在Timestamp中。??


date?=new?Date(ts.getTime());??

System.out.println(date);//?Sun?Jan?15?21:31:47?CST?2017??

????}??


//????3.2?Date?->?Timestamp??

//??父類不能直接向子類轉(zhuǎn)化,可借助中間的String~~~~??

@org.junit.Test??

public?void?testDateToTimestamp()?{??

Date?date?=new?Date();??

Timestamp?ts?=new?Timestamp(date.getTime());??

System.out.println(ts);//?2017-01-15?21:33:32.203??

????}??

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容