gpt4 book ai didi

java - 在 Java 中维护一个单独的应用程序时间?

转载 作者:行者123 更新时间:2023-11-29 05:54:29 25 4
gpt4 key购买 nike

我正在从 eclipse 运行一个网络应用程序。在此 Web 应用程序上,我想将当前日期和时间设置为 24/11/1992。格林威治标准时间 00:00。在此之后,我希望应用程序自动增加时间并跟踪日期、月份和年份。有什么方法可以在 Java/JSP 中做到这一点?

最佳答案

你应该存储“当前时间”和“过去时间”之间的差异,并在每次要检查过去时间时做一个减法:

final class Past {
private final long differenceMs;
public Past(final Date pastDate) {
this.differenceMs = (System.currentTimeMillis() - pastDate.getTime());
}
public Date getUpdatedPastDate() {
return new Date(System.currentTimeMillis() - differenceMs);
}
}

class Test {
public static void main(String[] args) throws Throwable {
final Calendar cal = Calendar.getInstance();
cal.set(1992, 10, 24, 0, 0, 0); // this is 24/11/1992
final Past past = new Past(cal.getTime());
System.out.println(past.getUpdatedPastDate());
Thread.sleep(2000);
System.out.println(past.getUpdatedPastDate());
}
}

两个println应打印类似 Tue Nov 24 00:00:00 BRST 1992 的内容和 Tue Nov 24 00:00:02 BRST 1992 (取决于您的语言环境)。

不需要“自动递增”,没有多线程,类是不可变的(因此本质上是线程安全的)并且非常非常干净。

关于java - 在 Java 中维护一个单独的应用程序时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12702264/

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