From this question我得到了一个非常有用的功能,可以计算一天中的某一天。
我的问题是我该如何扭转呢?
因此,当我将一个数字传递给函数的参数(即一年中的某一天)时,该函数会返回一个日期吗?
以下是代码:
var now = new Date();
var start = new Date(now.getFullYear(), 0, 0);
var diff = (now - start) + ((start.getTimezoneOffset() - now.getTimezoneOffset()) * 60 * 1000);
var oneDay = 1000 * 60 * 60 * 24;
var day = Math.floor(diff / oneDay);
console.log('Day of year: ' + day);
答案 0 :(得分:2)
如果您通过该年的第一年和第n天,这将是一个函数,这将返回该第n天的日期。
function dateFromDay(year, day){
var date = new Date(year, 0);
return new Date(date.setDate(day));
}
console.log(dateFromDay(2010, 301));
console.log(dateFromDay(2010, 365));
答案 1 :(得分:1)
我认为this question应该回答你的问题。 只需在年初 - 1月1日实例化一个新日期 - 并添加到第x个日期的天数。
希望它有所帮助。
答案 2 :(得分:1)
在您的代码之后添加此内容。有工作小提琴https://jsfiddle.net/andreitodorut/ubLxy174/
var yearBegining = new Date();
yearBegining.setMonth(0,0);
yearBegining.setTime((yearBegining.getTime()/1000 + (86000 * day)) * 1000);
查看结果