我有两种不同的日期格式。 1)dd / mm / yyyy 2)dd-mm-yyyy
我想在Javascript或Actionscript中比较这两种日期格式。
有可能吗?
答案 0 :(得分:4)
在Javascript中:
x =新日期(“12/12/1999”)
Sun Dec 12 1999 00:00:00 GMT-0500(东部标准时间)
y =新日期(“12-13-1999”)
1999年12月13日星期一00:00:00 GMT-0500(东部标准时间)
x == y
假
x< ÿ
真
希望这有帮助!
答案 1 :(得分:1)
AS3中的简单方法,您的日期为String格式,如果您对Date对象本身不感兴趣:
var date1Str:String="10/01/2010";
var date2Str:String="10-01-2010";
var equal:Boolean=date2Str.split("-").join("/")==date1Str;
trace(equal);
如果您对日期对象感兴趣,那么在AS3中:
var date1Str:String = "10/01/2010";
var date2Str:String = "10-01-2010";
var date1Arr:Array = date1Str.split("/");
var date2Arr:Array = date2Str.split("-");
var date1:Date = new Date(date1Arr[2], date1Arr[1] - 1, date1Arr[0]);
var date2:Date = new Date(date2Arr[2], date2Arr[1] - 1, date2Arr[0]);
var equal:Boolean = date1.getTime() == date2.getTime();
trace(equal);
答案 2 :(得分:0)
我猜你可以将日期字符串转换为Date实例并进行比较。
function parseDate(ds) {
var rv = null;
ds.replace(/(\d\d?)[-/](\d\d?)[-/](\d\d\d\d)/, function(_, dd, mm, yyyy) {
rv = new Date(parseInt(yyyy, 10), parseInt(mm, 10) - 1, parseInt(dd, 10));
});
return rv;
}
// ...
if (parseDate(d1).getTime() === parseDate(d2).getTime()) {
// ...
}
如果你想获得幻想,你可以添加代码来应对两位数的年份。
[edit]哇@Pete在这里我是一个成年人,不知何故,我设法为我一直避免使用本机Date对象解析日期字符串: - )