当我创建一个新的Date对象时,它被初始化为当前时间,但在本地时区.如何获取当前的GMT日期和时间?

推荐答案

java.util.Date没有特定的时区,尽管人们通常认为它的值与UTC有关.你怎么会认为是在当地时间?

准确地说:java.util.Date内的值是自Unix纪元(发生在UTC 1970年1月1日午夜)以来的毫秒数.同一个纪元也可以在其他时区描述,但传统的描述是UTC.由于这是一个固定纪元后的毫秒数,所以在世界各地的任何特定时刻,java.util.Date内的值都是相同的,而不管当地时区如何.

我怀疑问题在于,您是通过使用本地时区的Calendar实例来显示它的,或者可能使用Date.toString()也使用本地时区,或者使用SimpleDateFormat实例,默认情况下也使用本地时区.

如果这不是问题,请发布一些示例代码.

不过,我还是建议您使用Joda-Time,它提供了更清晰的API.

Java相关问答推荐

如何让HikariCP指标在NewRelic中正确显示?

Mongo DB Bson和Java:在子文档中添加和返回仅存在于父文档中的字段?

@从类文件中删除JsonProperty—Java

如何配置ActiveMQ Artemis以使用AMQP 1.0和其他协议与Java

错误:在Liferay7.4中找不到符号导入com.liferay.portal.kernel.uuid.PortalUUID;";

JavaFX如何在MeshView中修复多个立方体?

更新GWT 2.5.1到2.11.0和sencha GXT 3.1.1到4.1时出现错误

Bean定义不是从Spring ApplationConext.xml文件加载的

如何解释Java中for-each循环中对Iterable的强制转换方法引用?

支持MySQL 5.6的最新Hibernate版本

Lombok@Nonnull是否也对供应商有影响?

舰队运行配置Maven版本

无法将GSON导入到我的JavaFX Maven项目

在JDK Flight Recorder中只记录单个线程

除0错误/抱歉我的句子是PT

Java CDI:@Singleton@Startup@Inject无法实现接口

Bash数组的单引号元素并使用空格连接

AspectJ编织外部依赖代码,重新打包jar并强制依赖用户使用它

这是JavaFX SceneBuilder的错误吗?

将Optionals/null安全添加到嵌套的flatMap/流