gpt4 book ai didi

javascript - 如何在 JavaScript 中交换两个日期

转载 作者:行者123 更新时间:2023-11-29 20:01:15 26 4
gpt4 key购买 nike

我在 JavaScript 中有两个日期,startfinish,由 Moment.js 解析。如果 start 晚于 finish 而无需创建第三个日期,那么交换它们的最有效方法是什么?通常,日期将是这样一个函数的参数:

function getDates(start, finish) {
var start_date = moment(new Date(start));
var finish_date = moment(new Date(finish));
if (start_date.diff(finish_date) > 0) {
// Swap code goes here...
}
}

人们可能想要交换日期的原因是因为某些函数的定义方式即使交换日期也会返回相同的结果,但函数需要知道哪个日期更早。例如,Microsoft Excel 中的 YEARFRAC 就是这样工作的。您可以查看我对该函数 here 的实现,以获取次优日期交换的示例。

预先感谢您的帮助!

最佳答案

What would be the most efficient way to swap them if start is posterior to finish

第三个变量。为了好玩,您可以使用 destructuring assignment 防止在句法上围绕它工作,但这几乎不会对性能产生影响。

without having to create a third date?

这就是使用变量的意义所在。随着binary operator way您提到您需要将 Date 对象转换为整数,应用该操作,然后根据整数创建两个新的 Date 对象。

关于javascript - 如何在 JavaScript 中交换两个日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14431518/

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