如何从一年的第x天获取日期?

时间:2018-05-29 12:43:13

标签: javascript date

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);

3 个答案:

答案 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);

您可以使用此内容https://www.epochconverter.com/days/2018

查看结果