想改进这篇文章吗?提供此问题的详细答案,包括引文和解释为什么您的答案是正确的。没有足够详细信息的答案可能会被编辑或删除。
当我创建一个新的 Date
对象,它被初始化为当前时间,但在本地时区。如何获得格林威治标准时间的当前日期和时间?
最佳答案
java.util.Date
没有特定的时区,尽管它的值最常被认为与 UTC 相关。是什么让你觉得现在是本地时间?
准确地说:java.util.Date
内的值是自 Unix 纪元(UTC 时间 1970 年 1 月 1 日午夜)以来的毫秒数。同一个纪元也可以用其他时区来描述,但传统的描述是用 UTC 来描述的。由于它是自固定纪元以来的毫秒数,因此 java.util.Date
内的值无论本地时区如何,世界各地的任何特定时刻都是相同的。
我怀疑问题在于您通过使用本地时区的 Calendar 实例显示它,或者可能使用 Date.toString()
它也使用本地时区,或 SimpleDateFormat
实例,默认情况下也使用本地时区。
如果这不是问题,请发布一些示例代码。
但是,我建议您使用 Joda-Time无论如何,它提供了更清晰的 API。
关于java - 如何在 Java 中以 UTC 或 GMT 格式获取当前日期和时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/308683/