gpt4 book ai didi

java - 如何从日历中获取 UTC 时间戳?

转载 作者:搜寻专家 更新时间:2023-10-30 19:50:57 24 4
gpt4 key购买 nike

在 Java 中,当我使用 Calendar.getInstance(); 时,我得到了当前时区的 Calendar 对象。但是 java.sql.Timestamp 通常以 UTC 时间存储,而不是本地时间。那么如何从 Calendar 实例中获取 UTC 时间呢?

    DateFormat df = DateFormat.getTimeInstance();
Calendar cal = Calendar.getInstance();
Timestamp time = new Timestamp(cal.getTimeInMillis());

// Prints local time
System.out.println(df.format(new Date(time.getTime())));

// Printe local time, but I want UTT Time
System.out.println("timestamp: " + time);

最佳答案

当您调用 Calendar.getTime() 时,这将为您提供一个没有相关时区的值 - 或者您可以将其视为 UTC - 对于 即时日历代表。因此,如果是(比如说)日历时区的上午 9 点,则可能是世界标准时间下午 5 点。

现在,当您调用toString()(无论是隐式还是显式)- 但不要让它误导您认为时区是对象本身数据的一部分。

您需要非常清楚确切您要实现的目标 - 然后您可能会发现 Joda Time让您在代码中比内置库更清楚地表达这一点。

关于java - 如何从日历中获取 UTC 时间戳?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4377279/

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