我很难找到关于这个关键问题的任何内容,所以我决定发布这个以帮助用户遇到同样的问题。
Chrome嵌入式Flash Player(Pepper)有一个关于日期timezoneOffset的错误,当您的应用程序处理日期时会导致一些不可预测的行为。 由于我们提供商业Flex日历组件(KC-Calendar),因此该问题对我们的客户及其应用程序至关重要。
问题详情可在此处找到:http://code.google.com/p/chromium/issues/detail?id=154060 (请投票)
等待修复,如果有人有解决方法,它可能真的很有帮助。 提前谢谢!
答案 0 :(得分:1)
我们之前已经处理过这些问题,老实说 - 而不是试图序列化日期 - IMO最好的解决方案(除非你想要自动时区转换)只是简单地将日期数据类型作为字符串传递。我们使用Java和ActionScript getter / setter干净地完成这项工作,它们通过解析未调整的日期字符串(正确地)在我们的DTO中设置序列化的“日期”对象。
实施例。当您设置Date对象的值时,在setter中将Date转换为String&为该日期设置String字段。在getter中,您获取该日期的String值并解析它,返回一个新的Date对象。在服务器端和客户端执行此操作。
显然,唯一的小问题是你需要确保Flex&服务器端String-to-Date / Date-To-String函数使用相同的日期格式。只需在您的序列化日期解析器/格式化程序旁边添加一个很好的注释来解释这个(所以没有人用它),你就可以了。
我希望一旦发布基于HTML5的Flex编译器,这个问题可能会消失(它实际上只是一个Flash功能,在我们的情况下不是理想的行为)。