gpt4 book ai didi

javascript - js中如何将天转换为月?

转载 作者:行者123 更新时间:2023-12-03 07:47:21 25 4
gpt4 key购买 nike

这是我的代码:

var date1 = '01/02/2017';
var date2 = '31/01/2020';

var startDate = new Date( date1.split("/")[2], date1.split("/")[1]-1, date1.split("/")[0] );
var endDate = new Date( date2.split("/")[2], date2.split("/")[1]-1, date2.split("/")[0] );

var diff = new Date(endDate - startDate);
var diffResult = ((diff.getFullYear() - 1970) * 12+ diff.getMonth()) + " months";

所以输出只有 35 个月(也有 30 天,但它是隐藏的)但由于 30 天实际上已经是一个月了,所以我想把它定为 36 个月。有什么建议吗?

谢谢

最佳答案

评论中有一些好的想法/解决方案。看来您真正想要的是开始日期和结束日期之间的 30 天间隔数。

毕竟,30 天并不总是一个月,因为一个月可以有 31 天。

如果您对开始日期和结束日期之间有多少个 30 天间隔感兴趣,您可以计算天数并除以 30:

var date1 = '01/02/2017';
var date2 = '31/01/2020';

var dateRegex = /\d+/g;
var date1Array = date1.match(dateRegex);
var date2Array = date2.match(dateRegex);

var startDate = new Date(date1Array[2], date1Array[1], date1Array[0]);
var endDate = new Date(date2Array[2], date2Array[1], date2Array[0]);

var diffResult = Math.round((endDate-startDate)/(1000*60*60*24));

var months = Math.floor(diffResult/30);

alert(months);

计算天数的公式归功于 this question .

关于javascript - js中如何将天转换为月?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35148515/

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