gpt4 book ai didi

javascript - 如何使用 Date-FNS 将日期传递给函数?

转载 作者:行者123 更新时间:2023-12-03 02:08:01 26 4
gpt4 key购买 nike

我正在使用 Date-FNS 库来获取 difference between two dates in minutes 。如果日期像这样传递: getDateTime(2018, 3, 4, 15, 30, 0) ,为什么 minutesDifference 返回 NaN

getDateTime: function (customDate) { 
var minutesDifference = differenceInMinutes(new Date(customDate), new Date())
console.log('minutesDifference: ' + minutesDifference)
}

但这可行(没有customDate的硬编码版本):

getDateTime: function () { 
var minutesDifference = differenceInMinutes(new Date(2018, 3, 4, 15, 30, 0), new Date())
console.log('minutesDifference: ' + minutesDifference)
}

我需要找到一种方法将自定义日期传递给函数。

最佳答案

根据date-fns documentation , differenceInMinutes 期望传递一个 Date 对象。在您的 getDateTime 函数中:

getDateTime: function (customDate) { 
var minutesDifference = differenceInMinutes(new Date(customDate), new Date())
console.log('minutesDifference: ' + minutesDifference)
}

您正在传递 new Date(customDate),并且在调用中您正在传递 getDateTime(2018, 3, 4, 15, 30, 0),因此分配给 customDate 的值为 2018,并且您实际上正在调用:

differenceInMinutes(new Date(2018), new Date());

其中 new Date(2018) 创建 1970-01-01 开始后 2,018 毫秒的日期。

I need to find a way to pass a custom date to the function.

确保customDate是一个Date对象,这样你就不能使用

getDateTime(2018, 3, 4, 15, 30, 0);

您需要使用:

getDateTime(new Date(2018, 3, 4, 15, 30, 0)); // 2018-04-04 15:30:00

您还需要在对 dateFns 函数的调用前添加 dateFns。,例如

// https://cdnjs.cloudflare.com/ajax/libs/date-fns/1.29.0/date_fns.min.js

function getDateTime(customDate) {
var minutesDifference = dateFns.differenceInMinutes(new Date(customDate), new Date());
console.log('minutesDifference: ' + minutesDifference)
}

getDateTime(new Date(2018, 3, 4, 15, 30, 0)); // 2018-04-04 15:30:00
// Comparison in plain JS
console.log(`Plain js: ${(new Date(2018, 3, 4, 15, 30, 0) - Date.now())/6e4 | 0}`);
<script src="https://cdnjs.cloudflare.com/ajax/libs/date-fns/1.29.0/date_fns.min.js"></script>
<script>dateFns.isToday(new Date())</script>

关于javascript - 如何使用 Date-FNS 将日期传递给函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49721265/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com