📅  最后修改于: 2023-12-03 14:48:46.159000             🧑  作者: Mango
在日常开发中,有时候需要计算某个日期是一年中的第几天,这就需要借助Javascript来实现。
function getDayOfYear(date) {
var start = new Date(date.getFullYear(), 0, 0);
var diff = (date - start) + ((start.getTimezoneOffset() - date.getTimezoneOffset()) * 60 * 1000);
var oneDay = 1000 * 60 * 60 * 24;
var day = Math.floor(diff / oneDay);
return day;
}
这个方法通过获取传入日期与该年第一天的时间差,再除以每天的毫秒数来计算出这个日期是一年中的第几天。其中getTimezoneOffset
方法是为了消除时区对计算的影响。
function getDayOfYear(date) {
var start = new Date(date.getFullYear(), 0, 0);
var diff = date - start;
var oneDay = 1000 * 60 * 60 * 24;
var day = Math.floor(diff / oneDay);
return day;
}
这个方法跟方法一类似,只是没有进行时区的处理。如果应用场景不到必要,可以使用这种简单的方法。
以上两种方法都可以实现计算一年中的哪一天,根据需要选择适合的方法即可。