鉴于今天的时间,例如下午2:24,如何让它到下午2:30?
同样,如果时间是下午2:17,我如何让它到下午2:15?
发布于 2019-05-30 08:18:19
如果您只想向下舍入,这是一个使用Java Time API的更易读的版本:
LocalDateTime time = LocalDateTime.now();
LocalDateTime lastQuarter = time.truncatedTo(ChronoUnit.HOURS)
.plusMinutes(15 * (time.getMinute() / 15));
输出:
2016-11-04T10:58:10.228
2016-11-04T10:45:00
发布于 2019-05-30 09:46:47
有了上面的答案,你最终得到了所有有趣的代码来处理溢出到几小时,几天等。
我将使用自纪元以来的ms时间。
添加7.5分钟或7.5x60x1000 = 450000
并截断为900000的倍数
new Date(900000 * ((date.getTime() + 450000) / 900000))
这是有效的,因为ms时间开始的时间恰好是00:00:00。而且由于世界上所有时区都以15分钟的步长变化,这不会影响四舍五入。
(哎呀,我有一个0太多,忘了一些重要的括号:现在还为时尚早)
https://stackoverflow.com/questions/-100006858
复制相似问题