java - 如何在具有特定时区的 ActionScript 中创建日期?

标签 java actionscript-3 apache-flex

我正在开发 Flex 3 应用程序,我想知道如何在 actionscript3 中创建代表特定时区的 Date 对象?我的应用程序在国际上使用,我想为整个应用程序创建标准时区,根据研究我发现我无法创建基于特定时区的日期对象。对此有什么建议吗? 仅供引用,所有业务逻辑都驻留在服务器上的 Java 上,对于前端,我们使用 flex。

更新:

我从服务器到 flex 的时间为“Fri Sep 28 05:16:37 EDT 2012”,但是当我在 new Date() 中实例化时,它抛出无效日期错误。所以我将其更正为“Fri Sep 28 05:16:37 GMT -0400 2012”并使用 new Date() 实例化,但我在 IST 中得到的结果,因此时区信息丢失。如何在 flex 中保留时区?

最佳答案

假设您想要将内容存储为 UTC...

在你的服务器中你可以设置JVM参数

-Duser.timezone=UTC

这将强制服务器以 UTC 运行,而不管计算机的时区如何。

然后,当您将对象从 flex 传递回 java 时,您将必须更新日期对象。有点像

 var utcDate:Date = new Date(d.valueOf() - (d.timezoneOffset * MS_OF_ONE_MIN));

其中 d 是您来自 flex 的日期,并且具有运行 Flex 的 PC 的时区。

如果您使用的是 BlazeDS 之类的东西,那么您可以调用一个函数来转换 RemoteObject 中的所有日期。因为那是您进行序列化的对象。

您遇到的最大问题是 flex Date 对象上没有 setTimezone,这意味着您必须跳过所有这些步骤才能获得 UTC 日期。

关于java - 如何在具有特定时区的 ActionScript 中创建日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12634390/

相关文章:

Jar 文件给出异常

c# - 使用多种语言编写应用程序

actionscript-3 - 我的 MKV 到 MP4 转换的视频不能在 flex 中播放

flash - 动态传递参数给事件监听器 AS3

ios - ApplicationDomain.getDefinition 在适用于 iOS 的 Release Build 中不起作用

Flex 移动应用程序中的 iOS 7 操作栏外观

java - 具有自托管代理的 Azure DevOps Pipeline for Java 项目

java - 递归删除类文件

flash - 获取 ActionScript 3 字典的大小

java - AS3有类似Java的NumberFormat的类吗