4

我很难在这个关键问题上找到任何东西,所以我决定发布这个来帮助遇到同样问题的用户。

Chrome 嵌入式 Flash Player (Pepper) 有一个关于日期 timezoneOffset 的错误,当您的应用程序处理日期时会导致一些不可预知的行为。由于我们提供商业 Flex 日历组件 (KC-Calendar),因此这个问题对于我们的客户及其应用程序来说至关重要。

问题详情可以在这里找到:http ://code.google.com/p/chromium/issues/detail?id=154060 (请投票)

等待修复,如果有人有解决方法,它可能真的很有帮助。提前致谢!

4

1 回答 1

1

我们之前已经处理过此类问题,而且老实说——而不是试图序列化日期——IMO 最好的解决方案(除非你想要自动时区转换)是简单地将日期数据类型作为字符串传递。我们使用 Java 和 ActionScript 的 getter/setter 干净地做到了这一点,它们(正确地)通过解析未调整的日期字符串在我们的 DTO 中设置序列化的“日期”对象。

前任。当您设置 Date 对象的值时,在设置器中将 Date 转换为 String 并为该日期设置一个 String 字段。在 getter 中,您获取该日期的 String 值并对其进行解析,返回一个新的 Date 对象。在服务器端和客户端执行此操作。

显然,唯一需要注意的是,您需要确保 Flex 和服务器端 String-to-Date/Date-To-String 函数使用相同的日期格式。只需在您的序列化日期解析器/格式化程序旁边放一个很好的评论来解释这一点(所以没有人会搞砸它),您就可以了。

我预计一旦发布了基于 HTML5 的 Flex 编译器,这个问题可能会消失(它实际上只是一个 Flash 功能,在我们的案例中不是所需的行为)。

于 2013-08-17T02:44:00.250 回答