gpt4 book ai didi

java - Java 中的 GregorianCalendar 类

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:45:17 26 4
gpt4 key购买 nike

我正在尝试获取其他时区的当前时间。我为此使用了这段代码:

GregorianCalendar calender = new         
GregorianCalendar(TimeZone.getTimeZone("Asia/Bangkok"));
System.out.println(calender.getTime());

但是,当我运行这段代码时,这段代码提供了 CET 的当前时间,因为我本地机器上的时间是 CET。我很困惑。那为什么在构造函数中有提供 TimeZone 的范围?

最佳答案

啊,Java 日期/时间 API 的乐趣......

您想要的(除了更好的 API,例如 Joda Time)是 DateFormat。它可以在您指定的时区打印日期。为此,您不需要 Calendar

dateFormat.setTimeZone(TimeZone.getTimeZone("Asia/Bangkok"));
dateFormat.format(new Date());

Calendar 用于时间操作和计算。例如“将时间设置为上午 10 点”。然后它需要时区。

完成这些计算后,您可以通过调用 calendar.getTime() 获取结果,它会返回一个 Date

Date 本质上是一个通用时间戳(自 1970 年以来的毫秒数,没有附加或相关的时区信息)。如果您在 Date 上调用 toString,它只会在您的默认时区打印一些内容。要获得更多控制,请使用 DateFormat

关于java - Java 中的 GregorianCalendar 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28297045/

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