如何以天为单位指定日期/时间偏移量

How to specify a date / time offset in days

使用 Java 的日期解析机制,我想指定一个日期/时间的偏移量(以天为单位)。基本上类似于时区偏移。

示例:

这可能吗?如何实现?

我认为在解析时不可能。但是在将 Java8 解析为 LocalDateTime 对象之后,您仍然可以在 Java8 中进行日期时间操作,

System.out.println("Tomorrow: " + LocalDateTime.now().plusDays(1));
System.out.println("Yesterday: " + LocalDateTime.now().minusDays(1));
System.out.println("One week ago: " + LocalDateTime.now().minusWeeks(1));

您可以结合 Duration class 应用日期和时间修改。示例:

DateTimeFormatter formatter = DateTimeFormatter.ISO_DATE_TIME;
LocalDateTime now = LocalDateTime.now();
Duration duration = Duration.parse( "-P1DT15M");

System.out.println( "Duration   : " + duration.toMillis());
System.out.println( "Now        : " + formatter.format( now));
System.out.println( "Now-P1DT15M: " + formatter.format( duration.addTo(now)));

结果

Duration   : -87300000
Now        : 2018-04-12T08:59:10.91
Now-P1DT15M: 2018-04-11T08:44:10.91