【发布时间】:2009-03-27 20:25:40
【问题描述】:
如何在 Flex (AS3) 中将 ISO 日期字符串解析为日期对象?
例如
2009-12-08T04:23:23Z
2009-12-08T04:23:23.342-04:00
等等……
【问题讨论】:
标签: apache-flex actionscript-3 datetime parsing
如何在 Flex (AS3) 中将 ISO 日期字符串解析为日期对象?
例如
2009-12-08T04:23:23Z
2009-12-08T04:23:23.342-04:00
等等……
【问题讨论】:
标签: apache-flex actionscript-3 datetime parsing
import com.adobe.utils.DateUtil;
var dateString:String = "2009-03-27T16:28:22.540-04:00";
var d:Date = DateUtil.parseW3CDTF(dateString);
trace(d);
var s:String = DateUtil.toW3CDTF(d);
trace(s);
[trace] Fri Mar 27 16:28:22 GMT-0400 2009
[追踪] 2009-03-27T20:28:22-00:00
原来DateUtil 处理W3C Date and Time 规范中的所有内容。 AS3 日期不保持毫秒,但如果可用,它们将被丢弃。
请注意,W3C 输出转换为 UTC(又名 GMT,或祖鲁时间)。
【讨论】:
将 ISO 转换为日期格式的示例函数
public function isoToDate(value:String):Date
{
var dateStr:String = value;
dateStr = dateStr.replace(/\-/g, "/");
dateStr = dateStr.replace("T", " ");
dateStr = dateStr.replace("Z", " GMT-0000");
return new Date(Date.parse(dateStr));
}
【讨论】:
这是一个实现:http://blog.flexexamples.com/2008/02/02/parsing-iso-dates-with-flex-and-actionscript/
(抱歉ff只是没有显示链接按钮,我懒得自己做。)
【讨论】: