【问题标题】:Date/Time conversion problems from Rails to Flex?从 Rails 到 Flex 的日期/时间转换问题?
【发布时间】:2010-01-03 02:32:20
【问题描述】:

我收到以下错误: TypeError:错误 #1034:类型强制失败:无法将“2010-01-02 23:28:17 UTC”转换为日期。

我正在使用 WebORB 在 Rails 和 Flex 之间传输数据。来自 Rails 的数据类型为:'ActiveSupport::TimeWithZone'。我正在尝试将其分配给 Flex 'Date' 数据类型。

我错过了什么?

【问题讨论】:

  • 您能否向我们展示一下您这次用来尝试转换的代码示例?那会很有帮助

标签: ruby-on-rails apache-flex datetime flex3 weborb


【解决方案1】:

来自文档:http://www.adobe.com/livedocs/flex/3/langref/Date.html#Date()

如果将字符串传递给 Date 类的构造函数,则日期可以采用多种格式,但必须至少包括月、日和年。例如,2005 年 2 月 1 日有效,但 2005 年 2 月无效。以下列表显示了一些有效的格式:

Day Month Date Hours:Minutes:Seconds GMT Year (for instance, "Tue Feb 1 00:00:00 GMT-0800 2005", which matches toString())

我认为在 Rails 中,您需要做的是调用 strftime 来格式化将要发送到 Flex 的日期输出

time_with_zone.strftime("%a %b %d %H:%M:%S %z %Y") # => "Sun Jan 03 20:58:16 +0700 2010"

【讨论】:

    【解决方案2】:

    感谢您的帮助,但奇怪的是,事实并非如此。西卡丘,你的帮助确实让我走上了正轨。我不能简单地分配返回的结果——我必须将它输入到构造函数中。所以,不要这样做,这是行不通的:

    var flexDate:Date = server_result.date;
    

    我做了这个,效果很好:

    var flexDate:Date = new Date(server_result.date);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-21
      • 1970-01-01
      • 2011-07-23
      • 1970-01-01
      • 2018-12-07
      • 2021-04-30
      • 1970-01-01
      • 2012-12-30
      相关资源
      最近更新 更多