Javascript:转换日期或除以 1

标签 javascript date

谁能解释一下 Javascript 在那里做什么?

为什么我必须将毫秒除以 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

谢谢,周末愉快。

<html>
<head>
  <title>calculator based on javascript.</title>
</head>
<body>
  <form name="board" id="board">
    <input type="input" id="resultsbox" value="1383262200000">
    <input type="input" id="resultsbox1">
    <input type="input" id="resultsbox2">
  </form>
  <input type="button" onclick="
    d1=new Date(board.resultsbox.value/1);
    d2=new Date(board.resultsbox.value);
    board.resultsbox1.value=d1;
    board.resultsbox2.value=d2;" style="height: 80px;" value="=">
</body>
</html>

最佳答案

与人们可能认为的不同,这里转换不是问题格式才是问题。

board.resultsbox.value 是一个 String

这是可以接受的,因为新的 Date()具有以下有效参数集:

new Date();
new Date(value);
new Date(dateString);
new Date(year, monthIndex [, day [, hours [, minutes [, seconds [, milliseconds]]]]]);

但显然,board.resultsbox.value 是一个表示数字时间戳的字符串。 new Date(dateString) 失败,因为它接受可由 Date.parse() 解析的字符串(示例 '01 Jan 1970 00:00:00 GMT')同时需要将数字时间戳作为 Number 传递。

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

关于Javascript:转换日期或除以 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50531398/

相关文章:

r - 按日期子集箱线图,按月排列 x 轴

JavaScript : How do i set plus or minus 60 days daterange from today?

mysql - 使用 NOW 更新 MYSQL 上的列无法正常工作

java - OffsetDateTime toString() 返回不同格式的日期字符串

javascript - 将 @Output() 与动态添加的组件一起使用

sql - 按天分组数据

javascript - 语法错误: "Cannot use import statement outside a module" - JavaScript in Python

javascript - 获取 DOM 元素属性而不再次查询 DOM 并设置默认值(如果不存在)

javascript - 将 URL 更改为其他内容?

javascript - 如何使用不同的数据将数据多次解析到嵌套 View 中