
java如何得到时间毫秒数
用户关注问题
我想知道如何使用Java代码来获取当前时间的毫秒表示,应该用哪种方法比较合适?
使用System.currentTimeMillis()获取当前时间毫秒数
在Java中,可以调用System.currentTimeMillis()方法来获取自1970年1月1日00:00:00 UTC以来经过的毫秒数。这是获取当前时间毫秒数的最简单且常用的方法。例如:long currentMillis = System.currentTimeMillis();
如果需要比System.currentTimeMillis()更精确或更灵活地获取时间数据,Java提供了哪些选择?
使用Instant类获取时间的毫秒数
Java 8引入的java.time包中,Instant类提供了获取时间毫秒数的功能。通过Instant.now().toEpochMilli()可以获得当前时刻的毫秒值。相比System.currentTimeMillis(),Instant提供了更好的时间API设计和易用性。
如果我有一个时间的字符串格式,比如"2024-06-01 12:00:00",如何将其转换成毫秒数?
利用SimpleDateFormat或DateTimeFormatter进行时间转换
可以使用SimpleDateFormat类(Java 7及以下)或DateTimeFormatter类(Java 8及以上)将时间字符串解析成Date或LocalDateTime对象,然后转换为毫秒数。示例:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = sdf.parse("2024-06-01 12:00:00");
long millis = date.getTime();
或者使用Instant将LocalDateTime转换为毫秒数。