я StartDate и EndDate строки и им преобразования строки в дату объектаJavascript, как сравнить даты и времени
var startdate = start_date[3]+'-'+month_value_start+'-'+start_date[2]+' '+start_time[0]+':'+start_time[1]+':00';
var enddate = end_date[3]+'-'+month_value_end+'-'+end_date[2]+' '+end_time[0]+':'+end_time[1]+':00';
var s_date = new Date(startdate);
var e_date = new Date(enddate);
StartDate и EndDate формат похож 2014-02-20 00:00:00
я хочу сравнить этот объект даты, если s_date больше e_date всплывающего окна будет показан пользователем
if(s_date > e_date)
{
alert('Start Date Cannot Be Greater Than End Date');
}
, но некоторые, как если условие не выполняется, даже если startdatetime больше enddatetime.
как решить эту проблему любые предложения?
решаемых
программы, которую я использую, автоматически изменяет EndDate во время выполнения, если StartDate больше даты окончания. но никакого обновления на frontend, т.е. текстового поля datetimepicker, так что frontend enddate остается меньше, чем startdate, но в фоновом коде изменил переменную enddate и эту переменную, которую я использовал для сравнения дат .... извините за беспокойство у ребят .... и спасибо за помогая мне.
Если предупреждение не отображается, это означает, что 's_date' ** не ** больше, чем' e_date'. Убедитесь, что объекты даты созданы правильно. –
в вопросе я сказал «но некоторые как если условие не выполняется, даже если startdatetime больше, чем enddatetime» –
Да, но '>' - такая простая операция, что ** только ** причина, по которой условие было бы ложным что объекты даты не те, которые вы намереваетесь иметь, а 's_date' на самом деле не больше, чем' e_date'. Откуда вы знаете, что 's_date' действительно больше? Вы делали 'console.log (s_date.toString(), e_date.toString())'? Если вы не предоставили ** ** пример, где 's_date' позже, чем' e_date' и 's_date> e_date' является' false', я буду придерживаться своего мнения. –