我试图将这种String格式转换为Date并且不成功
“23-DEC-2008”到日期对象,看起来它不接受“ - ”,我可以在格式化后在日期对象中看到NULL。
如果你遇到这个问题,有人可以告诉我。
谢谢, 萨迪普
答案 0 :(得分:0)
“ - ”应该不是问题。我已经将SQL时间戳字符串转换为Date对象而没有任何问题(SQL日期字符串的格式为YYYY-MM-DD)。你正在使用什么格式字符串?尝试使用格式字符串“DD-MMM-YYYY”,看看是否有效。
修改强>
抱歉,我的解决方案仅适用于Flex的DateFormatter类,而不适用于Actionscript。在查看Actionscript Date类的文档之后,我看到了以下内容:
年月和日期可以用正斜杠(/)或空格分隔,但绝不能用破折号( - )分隔。 (1)
如果您使用直接的Actionscript,看起来好像您必须编写自己的接受“ - ”的解析方法。
答案 1 :(得分:0)
这种作品......
public function parse(source:String):Date {
var ret:Date = new Date(0, 0, 0, 0, 0, 0, 0);
var parts:Array = source.split("-");
ret.fullYear = Number(parts[2]);
ret.setDate(Number(parts[0]));
var month:int = "jan,feb,mar,apr,may,jun,jul,aug,sep,oct,now,dec".split(",").indexOf(String(parts[1]).toLowerCase());
if (month == -1) throw "could not parse month";
ret.setMonth(month);
return ret;
}
但实际上,我不喜欢它...如果'DEC'是'Dec',那么
Date.parse("23-Dec-2008".split("-").join(" "))
会工作......但仍然......我想,你应该得到更强大的东西......
格尔茨
back2dos