GWT - 获取浏览器时区/时间戳格式

标签 gwt date timezone timezone-offset

我使用 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/

相关文章:

Java:使用 Java 泛型创建树结构时出现问题

Javascript 日期比较奇怪的行为

r - 如何为 R 中的 3 个字母 tz 指定 POSIX(时间)格式,以便忽略它?

python - pyExchange 的时区问题

gwt - 如何在 GWT 单元格小部件上设置标题?

gwt - 在GWT CellTable中添加行号列

java - TextField 'Change' 事件仅在模糊时触发

linux - 如何在 shell 脚本中将时间戳转换为小时/分钟/秒?

mysql - SELECT CONVERT_TZ 命令不影响 MySql 服务器时区

java - Java 8 和 Java 7 中的时区差异