gpt4 book ai didi

java - 在 Java 中以毫秒为单位获取当前时间(只是时间,也不是日期)

转载 作者:行者123 更新时间:2023-11-29 08:30:08 24 4
gpt4 key购买 nike

我想以毫秒为单位获取当前时间。我正在使用 System.currentTimeMillis() 但这会返回日期和时间。我只想要以毫秒为单位的“15:03”,而不是日期。

请注意,我需要一个整数而不是格式化字符串。如果是 08:30,则相当于 30600 秒,而这又相当于 30600000 毫秒。这就是我想要的值

最佳答案

tl;dr

Duration.between( todayStart , now ).toMillis()

详情

获取特定地区(时区)的人们使用的挂钟时间中的当前时刻。

ZoneId z = ZoneId.of( “Africa/Tunis” ) ;
ZonedDateTime now = ZonedDateTime.now( z ) ;

获取当天的第一时刻。不要假设这是 00:00:00。让 java.time 决定。

ZonedDateTime todayStart = now.toLocalDate().atStartOfDay( z ) ;

表示它们之间的增量,即未附加到时间轴的时间跨度,作为 Duration

Duration d = Duration.between( todayStart , now ) ;

Duration 的分辨率为纳秒。这比你想要的毫秒更精细。一种方便的方法将为您忽略任何微秒或纳秒。

long millisSinceStartOfToday = d.toMillis() ;

关于java.time

java.time框架内置于 Java 8 及更高版本中。这些类取代了麻烦的旧类 legacy日期时间类,例如 java.util.Date , Calendar , & SimpleDateFormat .

Joda-Time项目,现在在maintenance mode , 建议迁移到 java.time类。

要了解更多信息,请参阅 Oracle Tutorial .并在 Stack Overflow 中搜索许多示例和解释。规范为 JSR 310 .

您可以直接与您的数据库交换java.time 对象。使用 JDBC driver符合 JDBC 4.2或以后。不需要字符串,不需要 java.sql.* 类。

从哪里获得 java.time 类?

ThreeTen-Extra项目用附加类扩展 java.time。该项目是 future 可能添加到 java.time 的试验场。您可能会在这里找到一些有用的类,例如 Interval , YearWeek , YearQuarter , 和 more .

关于java - 在 Java 中以毫秒为单位获取当前时间(只是时间,也不是日期),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49113383/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com