2

我收到以下错误:TypeError: Error #1034: Type Coercion failed: cannot convert "2010-01-02 23:28:17 UTC" to Date。

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

我错过了什么?

4

2 回答 2

2

来自文档: 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"
于 2010-01-03T13:58:55.907 回答
1

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

var flexDate:Date = server_result.date;

我这样做了,它有效:

var flexDate:Date = new Date(server_result.date);
于 2010-01-03T22:22:03.030 回答