Javascript moment.js isBetween()意外返回false

Javascript moment.js isBetween()意外返回false,javascript,momentjs,Javascript,Momentjs,我有一段非常简单的moment.js代码(见下文),它应该解析为true,而不是false 我在isBefore()或isAfter()中遇到了同样的意外行为,这让我相信我定义日期的方式有问题 var format = 'YYYY-MM-DDTHH:mm:ss.SSSSZ'; var testTime = moment('Thu Jun 27 2019 05:33:19 GMT+0000', format); var startPeriod = moment('Thu Jun 27 2019 0

我有一段非常简单的moment.js代码(见下文),它应该解析为true,而不是false

我在isBefore()或isAfter()中遇到了同样的意外行为,这让我相信我定义日期的方式有问题

var format = 'YYYY-MM-DDTHH:mm:ss.SSSSZ';
var testTime = moment('Thu Jun 27 2019 05:33:19 GMT+0000', format);
var startPeriod = moment('Thu Jun 27 2019 04:00:19 GMT+0000', format);
var endPeriod = moment('Thu Jun 27 2019 10:00:19 GMT+0000', format);

console.log(
    testTime.isBetween(startPeriod, endPeriod)
);

这里缺少什么?

矩()的第二个参数采用第一个参数当前的格式。这看起来不正确。您可以通过单独记录时间并查看它们是否不正确来验证这一点(可能是1970年)

事实上,您应该能够完全删除第二个参数,因为输入日期已经是标准格式(ISO字符串)


moment()
的第二个参数采用第一个参数当前的格式。这看起来不正确。您可以通过单独记录时间并查看它们是否不正确来验证这一点(可能是1970年)

事实上,您应该能够完全删除第二个参数,因为输入日期已经是标准格式(ISO字符串)


日期的格式很奇怪(月、日、年)。Moment.js不会喜欢这样的。我在谈论原始问题/您的答案中的日期。试着运行答案中的确切代码(有时间)并查看控制台输出,其中有一个弃用警告。现在不用担心,OP似乎很高兴。日期的格式很奇怪(月、日、年)。Moment.js不会喜欢这样的。我在谈论原始问题/您的答案中的日期。试着运行答案中的确切代码(有时间)并查看控制台输出,其中有一个弃用警告。在这一点上不要担心,OP似乎很高兴。
var testTime = moment('Thu Jun 27 2019 05:33:19 GMT+0000');
var startPeriod = moment('Thu Jun 27 2019 04:00:19 GMT+0000');
var endPeriod = moment('Thu Jun 27 2019 10:00:19 GMT+0000');

console.log(
    testTime.isBetween(startPeriod, endPeriod)
);