一、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??
????}??