Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript:转换日期或除以1_Javascript_Date - Fatal编程技术网

Javascript:转换日期或除以1

Javascript:转换日期或除以1,javascript,date,Javascript,Date,有人能解释一下Javascript在那里做什么吗 为什么我必须将ms除以1来转换日期 d1=new Date(board.resultsbox.value/1); d2=new Date(board.resultsbox.value); board.resultsbox1.value=d1; //Fri Nov 01 2013 00:30:00 GMT+0100 (CET) board.resultsbox2.value=d2; //Invalid Date 谢谢,祝你周末愉快 基于jav

有人能解释一下Javascript在那里做什么吗

为什么我必须将ms除以1来转换日期

d1=new Date(board.resultsbox.value/1);
d2=new Date(board.resultsbox.value);
board.resultsbox1.value=d1; //Fri Nov 01 2013 00:30:00 GMT+0100 (CET)
board.resultsbox2.value=d2; //Invalid Date
谢谢,祝你周末愉快


基于javascript的计算器。

这个除法是将字符串转换成数字的一种方法(实际上很奇怪)。
我假设您的值是以字符串形式出现的,要作为日期种子进行解析,它需要是一个数字

文本字段返回的值是一个字符串,您可以将值传递给
新日期
的构造函数需要一个数字

在javascipt中,有几种将字符串转换为数字的方法,其中一些是:

  • parseInt
  • +“1234”
  • “1234”/1

这段代码的作者似乎选择了后一个例子,因为board.resultsbox.value是一个字符串值。当您添加数学运算(在本例中为除以1)时,它会自动转换为
Date
构造函数可接受的数值。 使用
parseInt
函数可以实现相同(但更干净)的效果,如:

var millis = parseInt(board.resultsbox.value);
您可以阅读有关
Date
constructor的更多信息


此外,还有大量关于如何将字符串转换为数字的信息,例如如下所示。

您需要将其解析为数字,然后将其转换为日期:


基于javascript的计算器。

与人们的想法不同,这里的问题不在于演员阵容,而在于格式

board.resultsbox.value
是一个
字符串

这是可以接受的,因为new具有以下有效参数集:

new Date();
new Date(value);
new Date(dateString);
new Date(year, monthIndex [, day [, hours [, minutes [, seconds [, milliseconds]]]]]);
但显然,
board.resultsbox.value
是一个表示数字时间戳的字符串<代码>新日期(dateString)失败,因为它接受可由解析的字符串(例如
'01 Jan 1970 00:00:00 GMT'
),而需要将数字时间戳作为
数字传递


除法是将
字符串
转换为
数字
的一种隐式方法。因此,满足了正确的格式和参数集,并且
new Date()
起作用。

将字符串
board.resultsbox.value
除以一时,JS尝试将字符串转换为数字<代码>日期
需要一个数字。