У меня есть два разных формата даты. 1) dd/mm/yyyy 2) dd-mm-yyyyКомбинируя два разных формата даты
Я хочу сравнить эти 2 формата даты в Javascript или Actionscript.
Возможно ли это.
Спасибо, Ravi
У меня есть два разных формата даты. 1) dd/mm/yyyy 2) dd-mm-yyyyКомбинируя два разных формата даты
Я хочу сравнить эти 2 формата даты в Javascript или Actionscript.
Возможно ли это.
Спасибо, Ravi
легкий путь в AS3 с датой в формате Строка, и если вы не интересны в самой Дата объекта:
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);
В Javascript:
х = новая дата ("12/12/1999")
Вс 12 декабря 1999 00:00:00 GMT-0500 (Eastern Standard Time)
у = новая дата ("12-13-1999")
Пн 13 декабря 1999 00:00:00 GMT-0500 (Eastern Standard Time)
х == у
ложные
< х у
true
Надеюсь, это поможет!
@Pete: Благодарим Вас за откоса. Эти 2 формата даты разные. Могу ли я сравнить его с помощью оператора «==» для сравнения разных дат. – Ravikanth
Конечно, когда вы создаете объекты Date выше, javascript нормализует даты в своих собственных внутренних форматах. Затем вы сравниваете объекты даты, а не строки. – Pete
Вы можете преобразовать строки даты в экземпляры даты и сравнить их, я думаю.
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()) {
// ...
}
Если вы хотите получить фантазию, вы можете добавить код, чтобы справиться с 2-значными годами.
[править] вау @Pete здесь я взрослый человек и как-то мне удалось avoidletting нативные Дата объектные строки даты синтаксического анализа для меня все это время :-)
@Patrick: Не сравнивать строки даты. Необходимо сравнить объекты Date. – Ravikanth
@kalyaniRavi, Ok добавить объект даты также;) – Patrick