我想获取当前时间(以毫秒为单位)。我正在使用 System.currentTimeMillis() 但这会返回日期和时间。我只想要以毫秒为单位的“15:03”,而不是日期。
请注意,我想要一个整数而不是格式化字符串。如果是 08:30,则相当于 30600 秒,进而相当于 30600000 毫秒。这就是我想要的值
Duration.between( todayStart , now ).toMillis()\n
Run Code Online (Sandbox Code Playgroud)\n\n获取特定地区(时区)的人们使用的挂钟时间中的当前时刻。
\n\nZoneId z = ZoneId.of( \xe2\x80\x9cAfrica/Tunis\xe2\x80\x9d ) ;\nZonedDateTime now = ZonedDateTime.now( z ) ;\n
Run Code Online (Sandbox Code Playgroud)\n\n获得一天中的第一个时刻。不要假设现在是 00:00:00。让 java.time 确定。
\n\nZonedDateTime todayStart = now.toLocalDate().atStartOfDay( z ) ;\n
Run Code Online (Sandbox Code Playgroud)\n\n表示它们之间的增量,即与时间轴无关的时间跨度,作为Duration
.
Duration d = Duration.between( todayStart , now ) ;\n
Run Code Online (Sandbox Code Playgroud)\n\nADuration
的分辨率为纳秒。这比您想要的毫秒还要精细。一种方便的方法将为您忽略任何微秒或纳秒。
long millisSinceStartOfToday = d.toMillis() ;\n
Run Code Online (Sandbox Code Playgroud)\n\njava.time框架内置于 Java 8 及更高版本中。这些类取代了麻烦的旧遗留日期时间类,例如java.util.Date
, Calendar
, & SimpleDateFormat
。
Joda -Time项目现在处于维护模式,建议迁移到java.time类。
\n\n要了解更多信息,请参阅Oracle 教程。并在 Stack Overflow 上搜索许多示例和解释。规格为JSR 310。
\n\n您可以直接与数据库交换java.time对象。使用与JDBC 4.2或更高版本兼容的JDBC 驱动程序。不需要字符串,不需要类。java.sql.*
从哪里获取 java.time 类?
\n\nThreeTen -Extra项目通过附加类扩展了 java.time。该项目是 java.time 未来可能添加的内容的试验场。您可能会在这里找到一些有用的类,例如Interval
、、、等等。YearWeek
YearQuarter