我正在尝试使用节点.js和Date。
将整数转换为Date我知道这是一个非常常见的问题,但之前发布的所有解决方案都无法帮助我。
我从http://api.guardian.gg/chart/elo/4611686018432537994找到的json文件中获取日期,
示例日期:1461110400000
我尝试了什么:
var date = String(new Date(elodata.x));
和
var date = String(new Date(parseInt(elodata.x)));
但结果是我的日期无效。
我意识到这可能不可行,因为我不知道guardian.gg如何处理这些数据。但你永远不知道。
答案 0 :(得分:4)
如果它是一个整数(它看起来像是在
中,你可以直接将你的值传递给Javascript中的Date
构造函数
var date = new Date(elodata.x);
同样,如果您已有现有对象,也可以使用Javascript中的setTime()
函数传递整数值:
var date = new Date();
d.setTime(elodata.x);
示例强>
var d1 = new Date(1461110400000);
console.log(`Constructor: ${d1}`);
var d2 = new Date();
d2.setTime(1461110400000);
console.log(`setTime(): ${d2}`);

答案 1 :(得分:1)
当一个参数传递给Date构造函数时,如果它是一个字符串,它将被解析。结果是依赖于实现,但如果1461110400000是一个字符串,它几乎肯定会给出一个无效的日期。
如果给出一个数字,则将其视为时间值。因此,如果您传递号码,请确保其号码为:
var timeValue = '1461110400000';
console.log( new Date(+timeValue));

您也可以使用Number(timeValue)
或parseInt(timeValue)
,但输入的一元+
更少。