我在这里读过很多帖子:GWT 日期处理。
一个特别触动我的就是这个
无论如何,我正在从事的一个项目需要能够将天、小时、分钟间隔显示为网格中的标签。我的团队采用了一种方法,所有日期/时间实例都以 ISO8601 字符串格式从服务器传递给客户端。服务器时区将受到客户端的尊重。商业用例是所有日期/时间实例都处于“市场时间”,因此访问该应用程序的任何浏览器都将看到并使用“市场时间”时区中的日期,该时区恰好是 GMT-05:00(如果夏令时生效)或 GMT-06:00(如果标准时间生效)。
我在 Github 上发布了一些资源,这里:
https://github.com/fastnsilver/gwt-datehandling-example
特别...
和 GWTTestCase
希望有人可以盯着我们用于日期处理的实用程序(和测试)并帮助我们看到我们没有看到的东西。
编辑
基本问题是CSTimeUtil#hoursInDay(Date)
“过渡日”在生产模式下没有正确计算此方法被其他方法(如CSTimeUtil#dateToHour(Date)
和CSTimeUtil#labelsForDay(Date)
)使用。
我已经使用当前的实现部署了我们的应用程序,CSTimeUtil
它似乎可以工作,但并不完全。例如,当mvn gwt:test
操作系统时区设置为除 USGMT-05:00
或GMT-06:00
.