我需要将表示自 01.01.1601(截至 2012 年 11 月 6 日:150422)以来的天数的整数转换为 javascriptDate
对象。
每年大约有365.242199
几天,所以计算应该如下:
var daysPerYear = 365.242199;
var daysSince = 150422;
var year = 1601 + Math.floor(daysSince / daysPerYear); // correct, gives me 2012
var days = Math.floor(daysSince % daysPerYear); // wrong, gives me 307
现在我创建Date
对象:
var date = new Date(year, 0);
date.setDate(days);
现在date
指向'Fri Nov 02 2012 00:00:00 GMT+0100 (CET)'
的时间大约相差 4 天。
我的计算有什么问题?有没有更简单的方法来获取Date
对象?