如何在 Java 中獲取給定日期和時間的毫秒數?


java.text.SimpleDateFormat 類用於格式化和解析字串到日期以及日期到字串。

  • 該類的建構函式之一接受表示所需日期格式的字串值,並建立SimpleDateFormat 物件
  • 要將字串解析/轉換為 Date 物件,請透過傳遞所需的格式字串來例項化此類。
  • 使用 parse() 方法解析日期字串。
  • 您可以使用 getTime() 方法獲取紀元時間。

示例

線上演示

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Sample {
   public static void main(String args[]) throws ParseException {  
      //Instantiating the SimpleDateFormat class
      SimpleDateFormat dateformatter = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");      
      //Parsing the given String to Date object
      String str = "25-08-2009 11:20:45";
      Date date = dateformatter.parse(str);  
      long msec = date.getTime();
      System.out.println("Epoch of the given date: "+msec);
   }
}

輸出

Epoch of the given date: 1251179445000

您可以使用set() 方法將日期和時間值設定為日曆物件。此類的 getTimeInMillis() 返回日期值的紀元時間。

示例

線上演示

import java.util.Calendar;
public class Sample {
   public static void main(String args[]) {  
      Calendar cal = Calendar.getInstance();
      cal.set(2014, 9, 11, 10, 25, 30);
      long msec = cal.getTimeInMillis();
      System.out.print(msec);      
   }
}

輸出

1413003330758

您可以使用of() 方法將日期和時間值設定為 ZonedDateTime 物件。Instant 類的 toEpochMilli() 返回日期值的紀元時間。

示例

線上演示

import java.time.Instant;
import java.time.ZoneId;
import java.time.ZonedDateTime;
public class Sample {
   public static void main(String args[]){  
      //Creating the ZonedDateTime object
      ZoneId id = ZoneId.of("Asia/Kolkata");
      ZonedDateTime obj = ZonedDateTime.of(2014, 9, 11, 10, 25, 30, 22, id);
      Instant instant = obj.toInstant();      
      long msec = instant.toEpochMilli();
      System.out.println("Milli Seconds: "+msec);
   }
}

輸出

Milli Seconds: 1410411330000

更新於: 2021年2月6日

1K+ 次瀏覽

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.