在node.js中将整数转换为Date

时间:2017-02-12 03:17:30

标签: javascript date

我正在尝试使用节点.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如何处理这些数据。但你永远不知道。

2 个答案:

答案 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),但输入的一元+更少。