gpt4 book ai didi

java - 如何获取当前 GMT 时间?

转载 作者:行者123 更新时间:2023-11-30 05:59:32 26 4
gpt4 key购买 nike

Possible Duplicate:
How can I get the current date and time in UTC or GMT in Java?

我想获取当前GMT时间戳;有什么想法如何做到这一点吗?


我设法获得了 gmt 格式的字符串问题是我想将此字符串转换为等效的时间戳对象,即同一时间但作为时间戳对象

SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss zzz");
sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
Date date=new Date();
String s=sdf.format(date);
System.out.println("GMT: "+s);
//need to convert the string to equivalent timestamp object

最佳答案

new Date().getTime();

或者只是

System.currentTimeMillis();

两者都假设您将“时间戳”表示为“距 Unix 纪元的毫秒数”。否则,请澄清您的问题。

编辑:回应评论/澄清/“答案”:

您误解了存储 GMT 时间戳和显示 GMT 时间戳之间的区别。日期/时间戳将在内部存储为 UTC 纪元的毫秒数,并且与特定时区无关,因为无论您所在的时区如何,时间戳都是相同的。如果檀香山的格林威治标准时间晚上 10 点,那么纽约的格林威治标准时间也是晚上 10 点。它们具有相同的时间戳,但您的位置可能会使它们呈现不同的效果。

另一方面,日历用于正确显示某些字段(例如,6 月 8 日下午 6 点),因此确实有一个内部时区的概念(因为美国东部时间下午 6 点与太平洋夏令时间下午 6 点不同)。

无论如何,您的示例给出了 SimpleDateFormat。如果您想显示您已有的 GMT 时间戳以 GMT 表示,请执行相同的操作并传入时间戳。

    Timestamp timestamp = new Timestamp(System.currentTimeMillis());
SimpleDateFormat fmt = new SimpleDateFormat("HH:mm:ss.SS");
fmt.setTimeZone(TimeZone.getTimeZone("GMT"));
System.out.println(fmt.format(timestamp));

关于java - 如何获取当前 GMT 时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3001053/

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