2015-10-27 4 views

ответ

-1

Попробуйте

$(function(){ 
 
    start = moment(moment("Thu, 29 Oct 2015 18:00:00 GMT").format("YYYY-MM-DD") + ' ' + "18:00").format("ddd, D MMM YYYY HH:mm:ss") + " GMT"; 
 
    end = moment(moment("Fri, 30 Oct 2015 00:00:00 GMT").format("YYYY-MM-DD") + ' ' + "00:00").format("ddd, D MMM YYYY HH:mm:ss") + " GMT"; 
 
    $('#divLocal').html(start); 
 
    $('#divLocal2').html(end); 
 
    if (new Date(end) > new Date(start)) \t \t \t \t \t \t \t \t 
 
    { 
 
    \t snippet.log("work"); 
 
    } 
 
    else 
 
    { 
 
    \t snippet.log("not work"); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script> 
 
<script src="http://cdnjs.cloudflare.com/ajax/libs/moment.js/2.5.1/moment.min.js"></script> 
 
<div id="divLocal"></div>  
 
<div id='divLocal2'></div>

1

Вы пытаетесь сравнивать строки, вы должны сравнить Date объекты

0

Прямо сейчас вы сравниваете строки. Для сравнения dateds в moment, используйте moment() метод вместо вроде этого:

start=moment(start); 
end=moment(end); 

Попробуйте эту скрипку: http://jsfiddle.net/a83ob6dy/4/

0

Похоже, вы пытаетесь сравнить форматированные строки, а не moment или Date obj ЕКТС. Если вы действительно используете moment.js, то вам следует просто сравнивать объекты moment с помощью функций isBefore или isAfter, а не операторов сравнения.

Кроме того, во время разбора вы должны указать строку ввода . В противном случае вы вернетесь к конструктору Date и получите сообщение о предупреждении об утомлении в консоли.

В приведенном ниже примере fmt определен один раз, затем используется как формат ввода, так и формат вывода. (Это формат RFC822, который следует избегать. Если возможно, используйте формат ISO8601.)

Также обратите внимание, что я использую функцию moment.utc, чтобы интерпретировать ввод явно в UTC, а не полагаться на " GMT "аббревиатура. Это несколько важно.

$(function() { 
 
    var fmt = "ddd, D MMM YYYY HH:mm:ss [GMT]"; 
 
    start = moment.utc("Thu, 29 Oct 2015 18:00:00 GMT", fmt); 
 
    end = moment.utc("Fri, 30 Oct 2015 00:00:00 GMT", fmt); 
 
    $('#divLocal').html(start.format(fmt)); 
 
    $('#divLocal2').html(end.format(fmt)); 
 

 
    if (end.isAfter(start)) { 
 
    alert("work"); 
 
    } else { 
 
    alert("not work"); 
 
    } 
 
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.6/moment.min.js"></script> 
 
<div id="divLocal"></div> 
 
<div id='divLocal2'></div>

(Updated jsFiddle)

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