我正在尝试制作一个网站,可以告诉您(以年、月、周、小时、分钟和秒为单位)您的年龄。我让他们所有人都工作了几个月甚至几年。一旦我得到了几个月,我就能够得到几年(希望如此),但是我很难想出一种得到几个月的方法。对于其他人来说,这很容易(一旦我有了出生日期和当前日期之间的秒数,我就可以将秒转换为分钟,小时,天等),但是对于几个月来说,我需要考虑事实上,它们的长度和闰年都不同(目前也不影响日期)。
最佳答案
希望对你有帮助
// 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.
关于两个 Date() 之间的 JavaScript 差异(以月为单位),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21618871/