如何使用javascript计算一年中的1到366?例如:1月3日应该是3 月3 日。2月1日应该是32。
3 回答

哔哔one
TA贡献1854条经验 获得超8个赞
按照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);
添加回答
举报
0/150
提交
取消