[英]How to compare two different dates which are in two different formats in javascript?
[英]How to compare two dates in different formats
我有一个格式为 19/02/ 19/02/2026, 07/02/2012
/2012 的两个日期和第三个日期
2021-05-19T12:51:11.630Z
它是YYYY-MM-DDTHH:mm:ss.SSSSZ
。 我需要检查第三个日期是否在这些日期之间。 但问题是我找不到使用不同格式的方法。 我尝试使用moment()
isBetween, isBefore(), isAfter()
函数,但由于格式不同,它无法正常工作
我试图将它们全部转换为毫秒
moment('19/02/2026').valueOf()
但有时我会收到NaaN
值,而不是毫秒。 我也尝试使用
Date().parse()
但它大部分时间都会给出Invalid Date
。 我可以做这样的事情,但我认为这是错误的方式。
let currentDate = moment( moment('2021-05-19T12:51:11.630Z').format('DD/MM/YYYY'))
有什么简单的方法可以用日期或时刻来做吗?
要解析既不是 RFC2822 也不是 ISO8601 格式的字符串,您需要指定要使用的格式:
const d = moment('19/02/2026', 'DD/MM/YYYY');
您可以使用isBetween
测试一个moment
实例是否位于其他两个moment
实例之间,而不是使用valueOf
:
const startDate = moment('07/02/2012', 'DD/MM/YYYY');
const endDate = moment('19/02/2026', 'DD/MM/YYYY');
const dateToTest = moment('2021-05-19T12:51:11.630Z');
if (dateToTest.isBetween(startDate, endDate)) {
alert("Between");
} else {
alert("Not between");
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.