我正在尝试将unix时间缩短到Java的第一天,但没有成功。例如:
1314057600(星期二,2011年8月23日00:00:00 GMT)
到
1312156800(2011年8月1日星期一00:00:00 GMT)
unix时间我正在从文件中读取并将其作为Long存储在变量(名为“valor”的变量)中。 到目前为止,我已经能够用它创建一个Java时间戳
LocalDateTime timestamp = LocalDateTime.ofInstant(Instant.ofEpochSecond(valor), ZoneId.systemDefault());
并为月份的开始创建一个新的时间戳:
LocalDate key = LocalDate.of(timestamp.getYear(), timestamp.getMonthValue(), 1);
如何将此新时间戳设为Long?
答案 0 :(得分:2)
这样的事情听起来像是可行的:
key.atStartOfDay().atZone(ZoneId.systemDefault()).toEpochSecond()
(假设你想要它在系统的默认时区)。