2017-07-17 68 views
0

,我有以下的Javascript代码:“无效的日期”在JavaScript的getTime()

var dateMilliseconds = web3.toAscii(newArray[i]).substring(0, 13) 
console.log(dateMilliseconds) // returns 1500282374082 
var date = new Date(dateMilliseconds) 
console.log(date) // returns invalid date 

如果我尝试var date = new Date(1500282374082)相反,它的工作原理 - 我应该如何传球。正确的dateMilliseconds变量以及它应该是什么类型?

+0

如果'dateMilliseconds'是一个字符串,你会得到无效的日期,它解析为整数。 – azs06

回答

1

您需要将此作为整数传递,而不是字符串。

可以使用+value伎俩把它转换成一个整数:

var date = new Date(+dateMilliseconds) 
+0

这个“+”是怎么处理的?如何将String转换为Integer? –

+1

@KillerDeath它是强制将字符串值转换为数字的几种方法之一,请参阅https://stackoverflow.com/questions/1133770/how-do-i-convert-a-string-into-an-整数in-javascript – CBroe

+1

@ KillerDeath--它被称为[*一元运算符*](http://ecma-international.org/ecma-262/8.0/#sec-unary-plus-operator),它“*转换它的操作数为Number类型。*“ – RobG