Похоже, вы пытаетесь сравнить форматированные строки, а не 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)