js如何根据某年的第几天来获取当时的日期?

比如:获取2002年第100天是几月几日?

阅读 4.4k
5 个回答

已解决,使用dayjs解决

Day of Year
获取或设置年份里第几天。

传入1到366的数字。

如果超出这个范围,它会进位到下一年。

使用本功能需先配置 DayOfYear 插件,才能正常运行
dayjs.extend(dayOfYear)

dayjs('2010-01-01').dayOfYear() // 1
dayjs('2010-01-01').dayOfYear(365) // 2010-12-31

new Date(2002, 0, 100),第一个第三个参数是活的,第二个参数写死一月就行,这样获取到时间后再转换成你要的格式就行了

要是要写成函数的话,应该是下面这样的吧?

function dayOfYear(days, year) {
  return new Date(year, 0, days)
}

可以通过时间戳来获取具体日期

function getDay(year,days){
    const yearBegin = new Date(`${year}-01-01 00:00:00`)
    const realTime = yearBegin +days*24*60*60*1000
    return (new Date(1018454400000).getMonth()+1+'月'+
           new Date(1018454400000).getDate()+'日')
}
推荐问题