如何在Flex (AS3)中将ISO日期字符串解析为日期对象?
例如:
2009-12-08T04:23:23Z
2009-12-08T04:23:23.342-04:00
等等...
如何在Flex (AS3)中将ISO日期字符串解析为日期对象?
例如:
2009-12-08T04:23:23Z
2009-12-08T04:23:23.342-04:00
等等...
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] 2009年3月27日16:28:22 GMT-0400 [trace] 2009-03-27T20:28:22-00:00
原来,DateUtil 处理了 W3C 时间日期格式 中的所有内容。AS3 的日期类型不保存毫秒,但如果有,则会被忽略。
请注意,W3C 输出已转换为 UTC(也称为 GMT 或 Zulu 时间)。
将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));
}