Я пробовал искать людей с похожими вопросами, но ничего не нашел.
У меня есть две даты в JavaScript, обе установлены на одно и то же значение ... Проверка равенства не выполняется на ==, но> = и ‹= оценивают как истинные.
Ниже приведен код, который у меня есть в игре:
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.
Обновление:
Итак, два человека опубликовали отличные ответы на мою проблему, и я благодарю вас обоих: xdazz и DaveRandom. Я читал более раннюю публикацию на stackoverflow.com по аналогичному вопросу, и парень сказал, что объекты даты можно сравнивать, как любые другие, и любой другой пример, который я обнаружил, всегда выполнял сравнение типа ‹или>, а не полного равенства, поэтому я не мог понять, почему я делал это неправильно.
Спасибо вам двоим и другим, которые опубликовали похожие ответы.