1. 程式人生 > >java中的日期轉換

java中的日期轉換

java相關的幾個時間類
java時間類
可以看出Date類是核心

/**
 * Date和DateFormat格式轉化
 * > Date類的核心在於其內部的時間戳屬性
 * @throws ParseException
 */
public static void testTimeTransfer() throws ParseException {
    // 獲取當前時間戳
    long timeStamp = System.currentTimeMillis();
    // 獲取當前時間
    Date date2 = new Date();

    // 列印初始資訊
    System.out.println("當前時間:"
+ date2); System.out.println("當前時間戳:" + timeStamp); // 時間戳轉成String // timeStamp:1522511450886 SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日 HH時mm分ss秒");// 指定格式 String timeString = simpleDateFormat.format(timeStamp); System.out.println("TimeStamp ==> String:"
+ timeString); // 時間戳轉成Date // timeStamp:1522511450886 Date date = new Date(timeStamp); System.out.println("TimeStamp ==> Date:" + date); // String轉成時間戳 // SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日HH時mm分ss秒"); // timeString:"2018年04月10日 23時28分14秒"; Date date1 = simpleDateFormat.parse(timeString); long
timeStamp1 = date1.getTime(); System.out.println("String ==> TimeStamp:" + timeStamp1); // Date轉成時間戳 // date:Sat Mar 31 23:50:50 CST 2018 long timeStamp2 = date.getTime(); System.out.println("Date ==> TimeStamp:" + timeStamp2); }

執行結果如下:
java時間轉換結果

最後兩項結果有出入是因為 java中的時間戳是精確到毫秒的,所以精確到秒的時間String轉成時間戳時,會將毫秒置為0

/**
 * Date和Calendar格式轉化
 */
@Test
public void test2() throws Exception{
    //Calendar轉date
    Calendar calendar = GregorianCalendar.getInstance();
    Date date = calendar.getTime();
    System.out.println(date);

    //date轉Calendar
    Date date1 = new Date();
    Calendar calendar1 = Calendar.getInstance();
    calendar1.setTime(date1);
    System.out.println(calendar1);
}