在 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
该解决方案通过将毫秒数转换为天数,然后进一步从日期中推导出月份和年份,从而准确计算两个日期之间的差异总天数。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3