从LocalTime Java获取所有毫秒

问题描述 投票:1回答:3

我需要知道如何将LocalTime设置为毫秒

    LocalTime  lunchTime = LocalTime.parse("01:00:00",
            DateTimeFormatter.ISO_TIME);

如果我要执行lunchTime.getMinute(),则我仅得到0,而lunchTime.getHour()我仅得到1。如何以毫秒为单位获取价值?

java milliseconds localtime
3个回答
4
投票

尝试获得十亿分之一秒或几秒并转换为毫秒(取决于您要处理的精度)。

lunchTime.toNanoOfDay() / 1e+6
lunchTime.toSecondOfDay() * 1e+3

0
投票

您可以使用System.currentTimeMillis(),请参考https://currentmillis.com/

此外,请以您选择的格式,请参考https://stackoverflow.com/a/26637209/1270989解析日期进行跟进。

此外,如果您尝试从在不同时区运行的应用程序获取时区中的本地时间,请遵循注释https://stackoverflow.com/a/319398/1270989


0
投票

如果您想要一天中的毫秒数(换句话说,就是从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

© www.soinside.com 2019 - 2024. All rights reserved.