当前位置: 首页 > 知识库问答 >
问题:

两个日期()的JavaScript月差[重复]

段晨
2023-03-14

我正在尝试建立一个网站,告诉你(以年、月、周、小时、分钟和秒为单位)你的年龄。我让他们每个人都工作了好几个月甚至好几年。一旦我得到了月数,我就可以得到年数(希望如此),但是我在想办法得到月数时遇到了困难。对于其他人来说,这很容易(一旦我有了出生日期和当前日期之间的秒数,我就可以把秒转换成分钟、小时、天等等),但是在接下来的几个月里,我需要考虑到它们都是不同的长度和闰年(目前也不影响天数)。

共有2个答案

越伟泽
2023-03-14

你会考虑外部图书馆吗?看看http://momentjs.com/

你可以很容易地做类似的事情

date1.diff(date2, 'months')
谢海阳
2023-03-14

希望这能帮到你

// Set the unit values in milliseconds.
 var msecPerMinute = 1000 * 60;
 var msecPerHour = msecPerMinute * 60;
 var msecPerDay = msecPerHour * 24;

// Set a date and get the milliseconds
 var date = new Date('6/15/1990');
 var dateMsec = date.getTime();

// Set the date to January 1, at midnight, of the specified year.
   date.setMonth(0);
   date.setDate(1);
   date.setHours(0, 0, 0, 0);

// Get the difference in milliseconds.
   var interval = dateMsec - date.getTime();

// Calculate how many days the interval contains. Subtract that
// many days from the interval to determine the remainder.
   var days = Math.floor(interval / msecPerDay );
   interval = interval - (days * msecPerDay );

// Calculate the hours, minutes, and seconds.
   var hours = Math.floor(interval / msecPerHour );
   interval = interval - (hours * msecPerHour );

    var minutes = Math.floor(interval / msecPerMinute );
    interval = interval - (minutes * msecPerMinute );

    var seconds = Math.floor(interval / 1000 );

// Display the result.
   document.write(days + " days, " + hours + " hours, " + minutes + " minutes, " + seconds + " seconds.");

 //Output: 164 days, 23 hours, 0 minutes, 0 seconds.
 类似资料:
  • 我已经搜索了4个小时了,但是还没有找到一个用JavaScript计算两个日期(年、月和天)之间差异的解决方案,比如:2010年4月10日是3年、x月和y天之前。 有很多解决方案,但它们只提供了日、月或年的格式差异,或者它们不正确(意味着没有考虑一个月或闰年的实际天数,等等)。做那件事真的有那么难吗? 我看了一下: http://momentjs.com/->只能输出年、月或天的差异 http://

  • 问题内容: 如何计算JavaScript中两个Date()对象的差异,而只返回差异中的月数? 任何帮助将是巨大的:) 问题答案: “差异中的月数”的定义要经过很多解释。:-) 您可以从JavaScript日期对象获取年,月和日。根据您要查找的信息,可以使用这些信息来计算两个时间点之间有多少个月。 例如,现成的,它找出两个日期之间有多少 整月 ,而不计算部分月份(例如,不包括每个日期所在的月份):

  • 我想计算2个月之间的差异,我不想考虑一个月是30天,并且以毫秒的时间来转换它们,我不想使用像焦达这样的库,我也找到了一个使用LoalDead的解决方案,但是我使用的是java 7。我寻找我的问题的答案,但找不到任何答案,我尝试了许多方法,我尝试创建一个日历,并以毫秒为单位传递我的两个日期之间的差异,但如果我尝试获取15/04和15/5之间的差异,我将得到30天,而不是1个月,下面是代码 我可以用什

  • 问题内容: 我有以下代码可以成功获取两天之间的差异(以天,小时,分钟,秒为单位): 但是,当日期跨入另一个月份时,这将不起作用,例如: 是否可以智能地跨越几个月并获得准确的时差?我对Joda熟悉,但是我想坚持使用标准Java API,除非没有Joda这样的东西是不可能的。 问题答案: 您正在使用 应该 您会得到正确的结果 这是日期模式的javadoc。是每月的一天。是一年中的一天。您的对象只是没有

  • 嗯,我在这里发现了很多这样的问题,试图获得年、月和日的两个日期之间的差异。。。但没有满足我要求的答案。 所以我写了一些计算的东西,它似乎是有效的,但也许这里的一些专家可以进行更正,或者帮助使这更简单。

  • 我需要得到以下两个日期之间的差异。两个日期都是字符串格式。