如何在 Java 中获取 UTC 或 GMT 的当前日期和时间

时间:2023-03-17
本文介绍了如何在 Java 中获取 UTC 或 GMT 的当前日期和时间?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

When I create a new Date object, it is initialized to the current time but in the local timezone. How can I get the current date and time in GMT?

解决方案

java.util.Date has no specific time zone, although its value is most commonly thought of in relation to UTC. What makes you think it's in local time?

To be precise: the value within a java.util.Date is the number of milliseconds since the Unix epoch, which occurred at midnight January 1st 1970, UTC. The same epoch could also be described in other time zones, but the traditional description is in terms of UTC. As it's a number of milliseconds since a fixed epoch, the value within java.util.Date is the same around the world at any particular instant, regardless of local time zone.

I suspect the problem is that you're displaying it via an instance of Calendar which uses the local timezone, or possibly using Date.toString() which also uses the local timezone, or a SimpleDateFormat instance, which, by default, also uses local timezone.

If this isn't the problem, please post some sample code.

I would, however, recommend that you use Joda-Time anyway, which offers a much clearer API.

这篇关于如何在 Java 中获取 UTC 或 GMT 的当前日期和时间?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

上一篇:使用 JTransforms 库通过 FFT 计算自相关 下一篇:Android:如何以用户的语言获取当前的星期几(星期

相关文章

最新文章