我需要知道如何将LocalTime设置为毫秒
LocalTime lunchTime = LocalTime.parse("01:00:00",
DateTimeFormatter.ISO_TIME);
如果我要执行lunchTime.getMinute()
,则我仅得到0,而lunchTime.getHour()
我仅得到1。如何以毫秒为单位获取价值?
尝试获得十亿分之一秒或几秒并转换为毫秒(取决于您要处理的精度)。
lunchTime.toNanoOfDay() / 1e+6
lunchTime.toSecondOfDay() * 1e+3
您可以使用System.currentTimeMillis()
,请参考https://currentmillis.com/
此外,请以您选择的格式,请参考https://stackoverflow.com/a/26637209/1270989对解析日期进行跟进。
此外,如果您尝试从在不同时区运行的应用程序获取时区中的本地时间,请遵循注释https://stackoverflow.com/a/319398/1270989
如果您想要一天中的毫秒数(换句话说,就是从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");
输出:
午餐时间为一天中的360万毫秒
((对于某些人来说,凌晨1点是个有趣的午餐时间,但是为了演示和使用您自己的示例。]
文档链接: ChronoField.MILLI_OF_DAY