有没有办法以秒为单位获取当天的当前时间?请注意,我问的是一天中的时间,而不是 UTC 时间。
我想要的是介于0 - 86,400 (12:00AM - 11:59PM)之间的值(以秒为单位)。我正在开发一个每天运行的应用程序,当一天结束时,时间(以秒为单位)应该重新开始0。
所以让我们说它是10:00AM。我应该得到36,000秒,如果我的时间是5:00PM,我应该得到61,200秒。
PS:我不知道手头的时间。该程序将使用currentTime()函数自行计算。
使用 Java 8,您可以创建一个Duration实例。
例如 :
LocalDateTime date = LocalDateTime.now();
long seconds = Duration.between(date.withSecond(0).withMinute(0).withHour(0), date).getSeconds();
Run Code Online (Sandbox Code Playgroud)
或者更简单地说,您可以将 转换LocalDateTime为LocalTime实例,然后应用该toSecondOfDay()方法:
LocalDateTime date = LocalDateTime.now();
int seconds = date.toLocalTime().toSecondOfDay();
Run Code Online (Sandbox Code Playgroud)
从java.time.LocalTimejavadoc :
public int toSecondOfDay()
Run Code Online (Sandbox Code Playgroud)
将时间提取为一天中的秒数,从 0 到 24 * 60 * 60 - 1。
| 归档时间: |
|
| 查看次数: |
6206 次 |
| 最近记录: |