如何在 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