gpt4 book ai didi

datetime - GWT java.util.Date 序列化错误

转载 作者:行者123 更新时间:2023-12-03 00:02:54 25 4
gpt4 key购买 nike

GWT 无法正确序列化 Java 日期。当我尝试通过网络发送用 Javascript 创建的日期时,我发现 1983 年之前的年份中 4 月 1 日(有趣)到 10 月 25 日之间的日期会减去一天。

这意味着,比如说,1982-04-01 和 1982-03-31 在 Java 端都会变成 1982-03-31。

鉴于有问题的日期,我猜测这是某种夏令时问题。我尝试过谷歌搜索,只找到 one other reference描述了类似的问题。

我还尝试向 GWT 团队提交错误,但奇怪的是找不到 GWT 的错误跟踪器。

所以,我的问题是:

  1. 还有其他人遇到过这种情况吗?我使用的是 GWT 1.7,想确认 2.0 上是否也会发生这种情况。

  2. 我的解决方法是将日期作为字符串发送,并在服务器上解析它们。有人知道更好的解决方法吗?

最佳答案

假设您使用的是 java.util.Date

问题1:2.0好像已经修复了。我已经创建了上面的两个日期(1982-04-01 和 1982-03-31),并且它们正确地到达服务器(两者在服务器上分别表示为 1982-04-01 和 1982-03-31)。我的设置是:

  • GWT 2.0
  • Java 1.6
  • OSX 10.6.2

问题 2:您始终可以通过异步服务传递“自 1970 年 1 月 1 日 00:00:00 GMT 以来的毫秒数”,您可以在日期对象上使用 getTime() 获取该值。然后,您可以在服务器端实例化一个新的 Date,并在构造函数中传递此值:
日期 date = new Date(毫秒);
这节省了摆弄格式化程序和解析器的麻烦。

关于datetime - GWT java.util.Date 序列化错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2102085/

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