Я пробовал искать людей с похожими вопросами, но ничего не нашел.
У меня есть две даты в JavaScript, оба установлены в одно и то же значение... Тестирование равенства не выполняется с помощью ==, но >= и <= оценивать true.
Ниже приведен код, который у меня есть:
var startDate = new Date( 2011, 7, 30, 0, 0, 0, 0 );
var dt = new Date( 2011, 7, 30, 0, 0, 0, 0 );
if( startDate == dt )
document.write('They Equal<br />');
if( startDate > dt )
document.write('Start Date is > dt<br />');
if( startDate >= dt )
document.write('Start Date is >= dt<br />');
if( startDate < dt )
document.write('Start Date is < dt<br />');
if( startDate <= dt )
document.write('Start Date is <= dt<br />');
if( dt == startDate )
document.write('They Equal<br />');
if( dt > startDate )
document.write('dt > startDate<br />');
if( dt >= startDate )
document.write('dt >= Start Date <br />');
if( dt < startDate )
document.write('dt < Start Date <br />');
if( dt <= startDate )
document.write('dt <= Start Date <br />');
document.write( dt );
document.write( '<br />');
document.write( startDate );
Кто-нибудь сталкивался с чем-то подобным, или я делаю что-то принципиально неправильное?
Я тестировал это Internet Explorer (9), Firefox 5+ и Chrome.
Update:
Итак, у двух человек были отличные ответы на мою проблему, и я благодарю вас обоих: xdazz и DaveRandom. Я прочитал более раннюю запись на stackoverflow.com по аналогичному вопросу, и парень сказал, что объекты даты можно сравнить, как и любые другие, и любой другой пример, который я нашел, всегда делал < или > тип сравнения, а не полное равенство, поэтому я не смог установить связь с тем, почему я делал это неправильно.
Спасибо вам, двое, и другие, которые оставили похожие ответы.