在 Java 中获取当前时间(仅是时间,而不是日期)

Yas*_*rar 6 java time

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

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

Bas*_*que 3

太长了;博士

\n\n
Duration.between( todayStart , now ).toMillis()\n
Run Code Online (Sandbox Code Playgroud)\n\n

细节

\n\n

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

\n\n
ZoneId 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\n
ZonedDateTime todayStart = now.toLocalDate().atStartOfDay( z ) ;\n
Run Code Online (Sandbox Code Playgroud)\n\n

表示它们之间的增量,即与时间轴无关的时间跨度,作为Duration.

\n\n
Duration d = Duration.between( todayStart , now ) ;\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n\n
long millisSinceStartOfToday = d.toMillis() ;\n
Run Code Online (Sandbox Code Playgroud)\n\n
\n\n

关于java.time

\n\n

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

\n\n

Joda -Time项目现在处于维护模式,建议迁移到java.time类。

\n\n

要了解更多信息,请参阅Oracle 教程。并在 Stack Overflow 上搜索许多示例和解释。规格为JSR 310

\n\n

您可以直接与数据库交换java.time对象。使用与JDBC 4.2或更高版本兼容的JDBC 驱动程序。不需要字符串,不需要类。java.sql.*

\n\n

从哪里获取 java.time 类?

\n\n\n\n

ThreeTen -Extra项目通过附加类扩展了 java.time。该项目是 java.time 未来可能添加的内容的试验场。您可能会在这里找到一些有用的类,例如Interval、、、等等。YearWeekYearQuarter

\n