以下代码展示了今年剩下的天数,getTime
和 setTime
方法对于比较日期是非常有用的。getTime
方法返回从 1970 年 1 月 1 日 00:00:00 的毫秒数。
var today = new Date();
var endYear = new Date(today.getFullYear(), 11, 31, 23, 59, 59, 999); // 设置今年的12月31日,月份是 0-11
var msPerDay = 24 * 60 * 60 * 1000; // 每天的毫秒数
var daysLeft = (endYear.getTime() - today.getTime()) / msPerDay;
var daysLeft = Math.round(daysLeft); // 返回今年剩下的天数
console.log(daysLeft); // 输出今年剩下的天数
代码解释:
today
是当前日期。endYear
是当前年份的 12 月 31 日的最后一毫秒。msPerDay
是一天的毫秒数。daysLeft
计算从今天到年底的毫秒数,并除以每天的毫秒数,得到剩余天数的浮点数。Math.round(daysLeft)
将浮点数四舍五入成整数。