我有两个输入字段,日期格式为 dd-mm-yyyy。
从日期:10-06-2021
至今:14-06-2021
我想将日期与 moment.js 进行比较,但结果是 fromdate 大于 todate。
var dateFrom = moment($(".fromdate").val(), "dd-mm-yyyy");
var dateTo = moment($(".todate").val(), "dd-mm-yyyy");
if(moment(dateFrom).isBefore(dateTo, 'day')){
console.log("Go");
} else {
console.log("Stop");
}
我的控制台打印停止。
我使用 moment-with-locales.js
答案 0 :(得分:0)
如果我们添加一个 console.log
来检查 MomentJS 对象,我们可以看到解析出错了:
console.log(dateFrom, dateTo);
// "2020-12-31T23:06:00.000Z" "2020-12-31T23:06:00.000Z"
var dateFrom = moment('10-06-2021', "dd-mm-yyyy");
var dateTo = moment('14-06-2021', "dd-mm-yyyy");
console.log(dateFrom, dateTo);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment-with-locales.min.js"></script>
您的第二个参数(日期格式)不正确。
MomentJs 需要以下格式:DD-MM-YYYY
而不是 dd-mm-yyyy
where
DD
月中的某天MM
月份数YYYY
4 位数字年份有关更多格式,请查看documentation
var dateFrom = moment('10-06-2021', "DD-MM-YYYY");
var dateTo = moment('14-06-2021', "DD-MM-YYYY");
if(moment(dateFrom).isBefore(dateTo, 'day')){
console.log("Go");
} else {
console.log("Stop");
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment-with-locales.min.js"></script>
去