gpt4 book ai didi

java - 如何在 Java 中获取时区的当前日期和时间?

转载 作者:IT老高 更新时间:2023-10-28 20:33:56 27 4
gpt4 key购买 nike

我的应用托管在伦敦服务器中。我在西类牙马德里。所以时区是-2小时。

如何使用我的时区获取当前日期/时间。

Date curr_date = new Date(System.currentTimeMillis());

例如

Date curr_date = new Date(System.currentTimeMillis("MAD_TIMEZONE"));

Joda-Time

DateTimeZone zone = DateTimeZone.forID("Europe/Madrid");
DateTime dt = new DateTime(zone);
int day = dt.getDayOfMonth();
int year = dt.getYear();
int month = dt.getMonthOfYear();
int hours = dt.getHourOfDay();
int minutes = dt.getMinuteOfHour();

最佳答案

Date 总是 基于 UTC...或时区中立,具体取决于您要如何查看。一个 Date only 代表一个时间点;它与时区无关,距 Unix 纪元仅几毫秒。没有“Date 的本地实例”的概念。将 DateCalendar 结合使用和/或 TimeZone.getDefault()使用“本地”时区。使用 TimeZone.getTimeZone("Europe/Madrid") 获取马德里时区。

... 或使用 Joda Time ,这往往使整个事情更清楚,IMO。在 Joda Time 中,您将使用 DateTime 值,它是特定日历系统和时区中的一个瞬间

在 Java 8 中,您将使用 java.time.ZonedDateTime,它是 Java 8 中 Joda Time 的 DateTime 的等效项。

关于java - 如何在 Java 中获取时区的当前日期和时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1305350/

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