比较两种不同的日期格式

时间:2010-02-26 13:06:16

标签: javascript actionscript-3

我有两种不同的日期格式。 1)dd / mm / yyyy 2)dd-mm-yyyy

我想在Javascript或Actionscript中比较这两种日期格式。

有可能吗?

3 个答案:

答案 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对象解析日期字符串: - )