我需要知道如何使LocalTime达到毫秒
LocalTime lunchTime = LocalTime.parse("01:00:00",
DateTimeFormatter.ISO_TIME);如果我要执行lunchTime.getMinute(),我只得到0,而lunchTime.getHour()只得到1小时。如何获得以毫秒为单位的值?
发布于 2020-04-04 14:43:28
您可以使用System.currentTimeMillis(),请参阅https://currentmillis.com/
另外,请参考https://stackoverflow.com/a/26637209/1270989在您选择的格式中跟踪解析日期。
此外,如果您试图从运行在不同时区的应用程序中获取时区中的本地时间,请遵循注释https://stackoverflow.com/a/319398/1270989
发布于 2020-04-04 11:28:32
尝试获取纳米秒或秒,并将其转换为毫秒(取决于所处理的精度)。
lunchTime.toNanoOfDay() / 1e+6lunchTime.toSecondOfDay() * 1e+3发布于 2020-04-04 18:18:59
如果您想要一天中的毫秒(换句话说,从00:00开始计算毫秒数),则有一个ChronoField枚举常量:
LocalTime lunchTime = LocalTime.parse("01:00:00");
int millisecondOfDay = lunchTime.get(ChronoField.MILLI_OF_DAY);
System.out.println("Lunch is at " + millisecondOfDay + " milliseconds of the day");输出:
午餐时间是一天的3600000毫秒
(对于一些人来说,上午1点可能是吃午饭的有趣时间,但为了演示和使用自己的例子。)
java.time的日期和时间类通常有一个接受TemporalField参数的get方法。LocalTime也不例外。调用get()时最常见的做法是传递一个ChronoField常量。该方法非常适用于从日期-时间对象中获取值,而该对象不提供getXxx方法。
文档链接: ChronoField.MILLI_OF_DAY
https://stackoverflow.com/questions/61027257
复制相似问题