Actionscript 3 日期格式化错误

Actionscript 3 日期格式化错误,actionscript-3,Actionscript 3,我试图将此字符串格式转换为日期,但未成功 “23-DEC-2008”对于一个日期对象,它看起来不接受“-”,在格式化后,我可以在日期对象中看到NULL 如果你遇到这个问题,有人能告诉我吗 谢谢, Sudeep不应该是个问题。我已将SQL时间戳字符串转换为日期对象,没有问题(SQL日期字符串的格式为YYYY-MM-DD)。您使用的格式字符串是什么?尝试使用格式字符串“DD-MMM-YYYY”,看看是否有效 编辑 抱歉,我的解决方案只适用于Flex中的DateFormatter类,而不适用于Acti

我试图将此字符串格式转换为日期,但未成功

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

如果你遇到这个问题,有人能告诉我吗

谢谢, Sudeep不应该是个问题。我已将SQL时间戳字符串转换为日期对象,没有问题(SQL日期字符串的格式为YYYY-MM-DD)。您使用的格式字符串是什么?尝试使用格式字符串“DD-MMM-YYYY”,看看是否有效

编辑

抱歉,我的解决方案只适用于Flex中的DateFormatter类,而不适用于Actionscript。在查看Actionscript日期类的文档后,我看到了以下内容:

年、月、日术语可以用正斜杠(/)或空格分隔,但不能用破折号(-)分隔

如果您无法使用straight Actionscript,那么看起来您必须编写自己的解析方法来接受“-”

这类代码

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

您可以说month.toLowerCase(),以确保它在该场景中进行解析。不,您真的不能,因为“23-dec-2008”也不起作用…-。。。这真是疯了…:DHi,我改变了逻辑,就像我要求我们的后端人员发送一个原始日期一样,我使用了label函数,并使用label函数对特定列进行了格式化,并实现了它。我不能使用逻辑,因为字符串在后端是动态的,可以以任何方式出现,所以我使用了上述逻辑Thannks来回答上述问题逻辑运行良好,需要使其更加健壮。Hi Dan,我删除了-并替换为-但它仍然不接受DECHI Dan,您的解决方案非常好,运行良好,是我的错误,我将某些内容写错了。。谢谢你的帮助……嘿,没问题,很高兴我能帮上忙!