gpt4 book ai didi

java - 使用 GregorianCalendar 的实例来确定过去的时间?

转载 作者:行者123 更新时间:2023-12-02 08:50:35 28 4
gpt4 key购买 nike

我正在 CIS 163 类(class)中开展一个项目,该项目实际上是一个露营地预订系统。大部分代码已提供,我只需向其中添加某些功能即可。目前,我需要能够确定以天表示的 2 个不同的 GregorianCalendar 实例(一个是当前日期,另一个是预定的“ checkout ”)之间已经过去了多少时间。我一直无法弄清楚如何做到这一点,并希望这里有人能够帮助我。

最佳答案

GregorianCalendar 已经很旧了,你不应该再使用它了。它很麻烦,从 Java 8 开始被“新的”java.time 模块取代。

不过,如果您需要使用 GC 实例进行比较,您可以使用日期之间的毫秒数轻松计算时间,如下所示:

GregorianCalendar date1 = new GregorianCalendar();
GregorianCalendar date2 = new GregorianCalendar();

// Adding 15 days after the first date
date2.add(GregorianCalendar.DAY_OF_MONTH, 15);
long duration = (date2.getTimeInMillis() - date1.getTimeInMillis() )
/ ( 1000 * 60 * 60 * 24) ;
System.out.println(duration);

如果您想使用新的 Time API,可以使用以下代码。

LocalDate date1 = LocalDate.now();
LocalDate date2 = date1.plusDays(15);

Period period = Period.between(date1, date2);
int diff = period.getDays();
System.out.println(diff);

如果您需要在类型之间进行转换(例如,您正在使用旧代码),您可以这样做:

LocalDate date3 = gcDate1.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
LocalDate date4 = gcDate2.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();

而且我很确定这个问题一定被反复问过,所以在提问之前请确保您进行了正确的搜索。

关于java - 使用 GregorianCalendar 的实例来确定过去的时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60801797/

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