我正在使用
val unix_startTime = startTime.getTime - (((startTime.getTime / (1000 * 60)) % 60) * 60000)
循环时间戳示例
2018-01-08 19:16:21到2018-01-08 19:00:21
2018-01-08 19:56:21至2018-01-08 19:00:21
是否有任何内置功能可以实现这一目标?
答案 0 :(得分:1)
您可以使用SimpleDateFormat
:
val df = new SimpleDateFormat("yyyy-MM-dd HH:00:ss")
df.format(new Date)
答案 1 :(得分:0)
您可以使用 java.time
import java.time._
import java.time.format._
val startTime = "2018-01-08 19:16:21"
val formatterFrom = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")
val formatterTo = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:00:ss")
val unix_startTime = LocalDateTime.parse(startTime, formatterFrom).format(formatterTo)
答案 2 :(得分:0)
如果可能的话,使用java.time
API,其中类是不可变的和线程安全的。要将分钟归零,您可以使用LocalDateTime方法plusMinutes
,如下例所示:
import java.time.LocalDateTime
import java.time.format.DateTimeFormatter
val date = "2018-01-08 19:16:21"
val localDate = LocalDateTime.parse(
date, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")
)
// localDate: java.time.LocalDateTime = 2018-01-08T19:16:21
localDate.plusMinutes(-localDate.getMinute)
// res1: java.time.LocalDateTime = 2018-01-08T19:00:21