我找不到替代toDateTimeAtStartOfTheDay
。例如
DateTime.now().toLocalDate().toDateTimeAtStartOfDay().plusHours(10)
我如何在Java 8的DateTime库中编写上面的代码?
最近我来ZonedDateTime.now().toLocalDate().atStartOfDay()
,只打印2015-07-21T00:00
。
我想要2015-07-21T00:00:00.000-04:00
答案 0 :(得分:3)
如果您需要将时间作为格式化的字符串,并且您总是想要获得今天的10点钟,那么请不要手动计算时间并将其写入格式模式:
Mock
每个字母的含义可以在这里找到:JavaDoc of DateTimeFormatter
。 DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyy-MM-dd'T10:00:00.000'XXX");
是一个固定的字符串,不会被解析,只是"添加"到返回的String。
您可以像这样获得格式化的时间:
'T10:00:00.000'
输出结果为:
2015-07-21T10:00:00.000-04:00
答案 1 :(得分:3)
您可以使用:
LocalDate.now().atStartOfDay().atZone(ZoneId.systemDefault());