gpt4 book ai didi

java - 如何在 Java 中使用 Clock 类从当前日期减去 2 个月

转载 作者:行者123 更新时间:2023-12-01 19:40:40 24 4
gpt4 key购买 nike

我正在编写代码,我需要使用 Clock 类来获取当前时间。我想将当前日期减去 2 个月。

这是代码:

public class DemoApp {
private Clock clock = Clock.systemDefaultZone();

public List<String> subtractMonths(String[][] str) {
List<String> ids = new ArrayList<>();
// The code
return ids;
}
}

在主类中我有这个字符串数组:

private static final String[][] str = {
{"id1", "2017-11-01T14:10:30"},
{"id2", "2018-01-20T18:01:34"},
{"id3", "2018-01-22T08:45:22"},
{"id4", "2018-02-18T12:42:37"},
{"id5", "2019-03-16T03:56:32"},
};

在主类中,我将使用 str 参数调用 subtractMonths 方法,如果日期不是当前月份和上个月,则返回 id。例如,如果当前月份是 1 月,则仅返回 12 月之前月份的 id。任何反馈将不胜感激!

最佳答案

使用 LocalDateTimeInstant,您可以使用 minus()plus() 进行减法或加法时间量:

LocalDateTime beforeTwoMonths = LocalDateTime.now()
.minus(2, ChronoUnit.MONTHS);

或者使用minusMonths()方法:

LocalDateTime beforeTwoMonths = LocalDateTime.now().minusMonths(2);

仅使用Clock类是不可能的。唯一的方法是将其转换为 ZonedDateTime 并减去月份:

ZonedDateTime beforeTwoMonths = Clock.systemDefaultZone().instant().atZone(ZoneId.systemDefault()).minusMonths(2);

否则你可以自己计算,但我认为这不是最好的方法。

关于java - 如何在 Java 中使用 Clock 类从当前日期减去 2 个月,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55480515/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com