栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

JavaScript中两个日期之间的月份差异

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JavaScript中两个日期之间的月份差异

“差异中的月数”的定义要经过很多解释。:-)

您可以从Javascript日期对象获取年,月和日。根据您要查找的信息,可以使用这些信息来计算两个时间点之间有多少个月。

例如,现成的,它找出两个日期之间有多少 整月 ,而不计算部分月份(例如,不包括每个日期所在的月份):

function monthDiff(d1, d2) {    var months;    months = (d2.getFullYear() - d1.getFullYear()) * 12;    months -= d1.getMonth() + 1;    months += d2.getMonth();    return months <= 0 ? 0 : months;}monthDiff(    new Date(2008, 10, 4), // November 4th, 2008    new Date(2010, 2, 12)  // March 12th, 2010);// Result: 15: December 2008, all of 2009, and Jan & Feb 2010monthDiff(    new Date(2010, 0, 1),  // January 1st, 2010    new Date(2010, 2, 12)  // March 12th, 2010);// Result: 1: February 2010 is the only full month between themmonthDiff(    new Date(2010, 1, 1),  // February 1st, 2010    new Date(2010, 2, 12)  // March 12th, 2010);// Result: 0: There are no *full* months between them

(请注意,Javascript中的月份值以0 =一月开头。)

在上面包含小数月要复杂得多,因为典型的2月中的三天要占该月的一部分(〜10.714%)比8月的三天(〜9.677%)要大,当然,甚至2月也是一个移动的目标取决于是否是a年。

还有一些可用于Javascript的日期和时间库可能会使这种事情变得更容易。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/517913.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号