我正在将momentjs
与Eonasdan插件一起使用,并且尝试检查end
的日期是否小于start
的日期,为此,我m使用isAfter
方法:
var start = moment($('#start-datetime').val());
var end = moment($('#end-datetime').val());
console.log((start).isAfter(end));
这将返回false
,其值是这样定义的:
答案 0 :(得分:1)
尝试将特定格式的字符串和语言环境传递到moment
,以确保正确解析了该字符串:
moment(..., "DD/MM/YYYY HH:mm", "en");
或
moment.locale("en");
...
moment(..., "DD/MM/YYYY HH:mm");
演示:
moment.locale("en");
$("#test-button").click(function() {
var start = moment($('#start-datetime').val(), "DD/MM/YYYY HH:mm");
var end = moment($('#end-datetime').val(), "DD/MM/YYYY HH:mm");
console.log((start).isAfter(end));
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.23.0/moment.min.js"></script>
<input id="start-datetime" type="text" value="07/02/2019 19:58">
<input id="end-datetime" type="text" value="31/01/2019 19:58">
<button id="test-button">Test</button>