Java 日期轉(zhuǎn)換
涉及的核心類(lèi):Date類(lèi)、SimpleDateFormat類(lèi)、Calendar類(lèi)
一、 Date型與long型
Date型轉(zhuǎn)換為long型
Date date = new Date();//取得當(dāng)前時(shí)間Date類(lèi)型
long date2long = date.getTime();//Date轉(zhuǎn)long
long型轉(zhuǎn)換為Date型
long cur = System.currentTimeMills();//取得當(dāng)前時(shí)間long型返回
Date long2date = new Date(cur);//long轉(zhuǎn)Date
二、Date型與String型
Date型轉(zhuǎn)換為String型
1
2
3
4
5
|
Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss.SSS" ); //設(shè)置目標(biāo)轉(zhuǎn)換格式為yyyy-MM-dd HH:mm:ss.SSS String date2string = sdf.format(date); //Date轉(zhuǎn)String |
String型轉(zhuǎn)換為Date型
String str="2001-11-03 11:12:33.828";//設(shè)置初始string類(lèi)型日期
Date str2date=sdf.parse(str);//String轉(zhuǎn)Date
三、Date型與Calendar型
Date型轉(zhuǎn)換為Calendar型
Calendar cal = Calendar.getInstance();//取得當(dāng)前時(shí)間Calendar類(lèi)型
cal.setTime(date); //Date轉(zhuǎn)Calendar
Calendar型轉(zhuǎn)換為Date型
Calendar cal = Calendar.getInstance();//取得當(dāng)前時(shí)間Calendar類(lèi)型
Date cal2date = cal.getTime();//Calendar轉(zhuǎn)Date
四、總結(jié)
-
String與基本類(lèi)型之間的轉(zhuǎn)換依靠的是String.valueOf()方法
-
Date與String類(lèi)之間的轉(zhuǎn)換依靠的是SimpleDateFormat類(lèi)
-
Date與long轉(zhuǎn)換依靠的是Date提供的構(gòu)造以及getTime()方法
-
Date與Calendar轉(zhuǎn)換依靠的是Calendar提供的setTime()及getTime()方法
五、面試題
Q:寫(xiě)一個(gè)方法,參數(shù)是Date date,將date往后推3天,在以“yyyy-mm-dd”格式返回字符串類(lèi)型
1
2
3
4
5
6
7
8
|
public String add3Day(Date date) throws ParseException{ SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd" ); Calendar cal = Calendar.getInstance(); cal.setTime(date); //Date轉(zhuǎn)換為Calendar cal.add(Calendar.DATE, 3 ); //將日期往后推3天,減少3天則-3. 月增加則Calendar.MONTH String after = sdf.format(cal.getTime()); //Calendar轉(zhuǎn)換為Date,再轉(zhuǎn)換為String return after; } |
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!