日期格式错误

时间:2009-07-07 23:29:02

标签: actionscript-3

我试图将这种String格式转换为Date并且不成功

“23-DEC-2008”到日期对象,看起来它不接受“ - ”,我可以在格式化后在日期对象中看到NULL。

如果你遇到这个问题,有人可以告诉我。

谢谢, 萨迪普

2 个答案:

答案 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