我使用 GMT/Zulu 时间将时间戳发送到我的 GWT 客户端,每个字符串都如此指定(即 2012-01-19T16:29:18Z 或 4:29pm GMT)。如何在本地时区的浏览器中显示此内容?因此,对于我来说,CST 预计会在上午 10:29 看到。
如果我不进行格式化,我得到的日期为下午 4:29,这是我所期望的,如果我使用 TimeZone.createTimeZone(0) 的 TimeZone 对象,由于某种原因,我会得到晚上 10:29(不是预期的上午)。我想我应该传递一些比 0 更有意义的东西,但是如何获得浏览器运行位置的正确值?
J
最佳答案
您可以使用以下方式获取浏览器中配置的时区偏移量:
Date d = new Date();
d.getTimezoneOffset();
它不会给你时区名称,我认为这是不可能的。
您将时间作为时间戳还是字符串发送?我发现最好的方法是将 UTC 时间戳发送到客户端,然后使用 DateTimeFormat/TimeZone 将它们格式化为我需要的任何区域。但我想如果您正在解析包含偏移量的日期字符串,无论如何您最终都会得到 UTC 时间戳。
关于GWT - 获取浏览器时区/时间戳格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8930180/