如何在javascript中将数字转换为日期?

时间:2013-07-04 11:26:13

标签: javascript

我必须将一个数字(0-364)转换为日期开始 从2013年1月1日起。示例:00 = 2013年1月1日或45 = 15 2013年2月; 364 = 2013年12月31日

3 个答案:

答案 0 :(得分:4)

如果您构造new Date,但指定的day值过大,则日值将“溢出”并增加月份。因此,您可以执行以下操作:

days = 1;
date = new Date(2013, 0, days);
// => Tue Jan 01 2013 00:00:00 GMT+1100 (EST)

days = 46;
date = new Date(2013, 0, days);
// => Fri Feb 15 2013 00:00:00 GMT+1100 (EST)

days = 365;
date = new Date(2013, 0, days);
// => Tue Dec 31 2013 00:00:00 GMT+1100 (EST)

请注意,使用此方法,days从1开始,从年初开始。如果您希望days == 0生成01 Jan, 2013,则需要使用:new Date(2013, 00, days + 1);

答案 1 :(得分:1)

尝试这样的事情:

// initialize to start of the year
var dt= new Date(2013,00,01); 
// add the required number of days to date
dt.setDate(dt.getDate() + <number of days>); 

其中<number of days>是您的变量

Working example here

答案 2 :(得分:0)

您可以使用getTime():

var days = xxx;
var date = new Date(2013, 0, 1);
var res = date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
console.log( new Date(res) );