Java中Long、String、Date 型別之間的轉換
阿新 • • 發佈:2019-01-31
本文題材比較簡單,僅僅作為自己的個人筆記,以備不時之需。今天拿到一個long型別的值,想要轉化成Date型別,一時卻想不起來,看樣子記筆記還是必須的啊!
(1)java.util.Date型別轉換成long型別
不要嘮叨了,還是先上程式碼
Date date=new Date();
System.out.println(date.getTime());
解析:其中getTime()返回為long型別,長度為13,表示毫秒;如果想獲得秒數,只需要除以1000即可。
long mseconds=date.getTime()/1000;
(2)long型別轉換成java.util.Date型別
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Date date = new Date(mseconds * 1000);
String str = sdf.format(date);
System.out.println(str);
前面的mseconds是表示的是秒數,所以要先乘1000得到毫秒數,再轉為java.util.Date型別,這樣就完成了long到Date的轉化;為了格式化輸出Date,可以呼叫SimpleDateFormat的format方法格式化輸出Date
(3)形如“2015-08-31 21:08:06”等格式化string型別轉換成java.util.Date型別
String str="2015-08-31 21:08:06";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = (Date) sdf.parse(str);
System.out.println(date.getTime());
其輸出結果為
1441026486000
有時候需要對CST時間進行轉化,如:Wed Sep 16 11:26:23 CST 2009,此時同樣可以用SimpleDateFormat的parse解決
String str="Wed Sep 16 11:26:23 CST 2009";
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);
Date date = (Date) sdf.parse(str);
備註(util類):
import java.text.*;
import java.util.*;
public class DateFormat {
/**
* date型別進行格式化輸出
* @param date
* @return
*/
public static String dateFormat(Date date) {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateString = formatter.format(date);
return dateString;
}
/**
* 將"2015-08-31 21:08:06"型字串轉化為Date
* @param str
* @return
* @throws ParseException
*/
public static Date StringToDate(String str) throws ParseException{
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = (Date) formatter.parse(str);
return date;
}
/**
* 將CST時間型別字串進行格式化輸出
* @param str
* @return
* @throws ParseException
*/
public static String CSTFormat(String str) throws ParseException{
SimpleDateFormat formatter = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);
Date date = (Date) formatter.parse(str);
return dateFormat(date);
}
/**
* 將long型別轉化為Date
* @param str
* @return
* @throws ParseException
*/
public static Date LongToDare(long str) throws ParseException{
return new Date(str * 1000);
}
}