1

Формат функция принимает два дат: YYYY/MM/DDThh: MMJavascript Дата выпуска между браузерами

год/месяц/dayThour: минуты

упаковывают свою непонятную

function compareDates(start, end) { 
    console.log("Start: " + start); 
    console.log("END : " + end); 

    var start1 = start.replace(/\T/g,' ') 
    var start2 = new Date(start1); 

    var end1 = end.replace(/\T/g,' ') 
    var end2 = new Date(end1); 

    console.log("Str 1: " + start1); 
    console.log("Str 2: " + start2);  
    console.log("END 1: " + end1); 
    console.log("END 2: " + end2); 

    console.log((end - start)); 
    console.log((end - start) < 0); 

    if ((end - start) < 0 || (end - start) == 0) {return false;}else{return true} 
} 

Orginal кода до отладки

function compareDates(start, end) { 
    start = new Date(start.replace(/\T/g,' ')); 
    end = new Date(end.replace(/\T/g,' ')); 
    if ((end - start) < 0 || (end - start) == 0) {return false;}else{return true} 
} 

консоль есть для т y error logging, в chrome это отлично работает без ошибок и возвращает false, если дата окончания равна или до моей даты начала.

Если я бегу в веб-работы, я получаю следующие выходные проблемы Str 2: Invalid Дата END 2: Invalid Дата

То, что я не понимаю, почему это не работает в сети ежевика - работает, но делает в хром и как я могу это решить?

Благодаря

ответ

2

В своем регулярном выражении, вы пробовали удаления '\' перед 'T'?

Вам нужно всего лишь использовать косую черту таким образом, если персонаж, следующий за ним, имеет особое значение для двигателя регулярных выражений (капитал T не имеет). Похоже, Chrome проявляет снисходительность и игнорирует косую черту, тогда как другого браузера нет.

+0

Попробуем добавить еще код, если он поможет – LmC

+0

Как сравнить 2010/10/10 10:10 - 2010/10/10 10:09? – LmC

+0

Что происходит, когда вы пытаетесь? – codebox

Смежные вопросы