在 JavaScript 中确定日期的年、月、日差异
确定两个日期之间的年、月、日差异可以由于仅提供一个单位(年、月或日)差异或不准确的解决方案不一致,JavaScript 中存在挑战性
这是一个更全面的解决方案,考虑了平年和闰年以及月份之间的确切天数差异:
today = new Date(); past = new Date(2010, 05, 01); // Equivalent to June 1, 2010 function calcDate(date1, date2) { // Calculate the difference in milliseconds var diff = Math.floor(date1.getTime() - date2.getTime()); // Convert milliseconds to days var day = 1000 * 60 * 60 * 24; var days = Math.floor(diff / day); // Calculate months and years from days var months = Math.floor(days / 31); var years = Math.floor(months / 12); // Format the message var message = date2.toDateString(); message += " was "; message += days + " days "; message += months + " months "; message += years + " years ago \n"; return message; } console.log(calcDate(today, past)); // Output: Tue Jun 01 2010 was 1143 days 36 months 3 years ago
此解决方案准确计算两个之间的差异通过将以毫秒为单位的差异转换为天数来计算日期,然后进一步从总天数中推导出月份和年份。
以上是如何使用 JavaScript 准确计算两个日期之间的年、月、日差异?的详细内容。更多信息请关注PHP中文网其他相关文章!