一尘不染

Javascript计算一年中的哪一天(1-366)

javascript

如何使用javascript从1-366计算一年中的某一天?例如:

  • 1月3日 应该是 3 月3
  • 2月1日 应该是 32

阅读 284

收藏
2020-05-01

共1个答案

一尘不染

在OP的编辑之后:

var now = new Date();

var start = new Date(now.getFullYear(), 0, 0);

var diff = now - start;

var oneDay = 1000 * 60 * 60 * 24;

var day = Math.floor(diff / oneDay);

console.log('Day of year: ' + day);

编辑:上面的代码会失败时,now是3月26日和10月29日之间的日期now的时间是凌晨1点之前(如零时59分59秒)。这是因为该代码未考虑夏令时。

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);
2020-05-01