Сравнивая два разных формата даты - PullRequest
0 голосов
/ 26 февраля 2010

У меня есть 2 разных формата даты. 1) дд / мм / гггг 2) дд-мм-гггг

Я хочу сравнить эти 2 формата даты в Javascript или Actionscript.

Возможно ли это?

Ответы [ 3 ]

4 голосов
/ 26 февраля 2010

В JavaScript:

x = новая дата ("12.12.1999")

вс 12 декабря 1999 00:00:00 GMT-0500 (восточное стандартное время)

y = новая дата ("12-13-1999")

Пн. 13 декабря 1999 00:00:00 GMT-0500 (Восточное стандартное время)

x == y

ложь

х <у </p>

правда

Надеюсь, это поможет!

1 голос
/ 26 февраля 2010

Простой способ в 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);
0 голосов
/ 26 февраля 2010

Вы можете преобразовать строки даты в экземпляры 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] wow @ Пит здесь я взрослый человек, и каким-то образом мне удалось все это время избежать для меня родных строк даты анализа объекта Date: -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...