如何在 Java 中获取给定日期和时间的时间(以毫秒为单位)?
该java.text.SimpleDateFormat中的 类用于格式化和解析字符串到日期和日期字符串。
此类的构造函数之一接受表示所需日期格式的String值并创建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 { //实例化SimpleDateFormat类 SimpleDateFormat dateformatter = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss"); //将给定的字符串解析为日期对象 String str = "25-08-2009 11:20:45"; Date date = dateformatter.parse(str); long msec = date.getTime(); System.out.println("给定日期的纪元: "+msec); } }输出结果
给定日期的纪元: 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
您可以使用该方法将日期和时间值设置为ZonedDateTime对象。在即时类的返回日期值的出现时间。 of() toEpochMilli()
示例
import java.time.Instant; import java.time.ZoneId; import java.time.ZonedDateTime; public class Sample { public static void main(String args[]){ //创建ZonedDateTime对象 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("毫秒: "+msec); } }输出结果
毫秒: 1410411330000