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/

相关文章:

javascript - 尝试仅显示匹配项时出现 jstree-grid 问题

date - 更改 Dart 上的日期格式

vba - 生成给定开始日期和结束日期的日期列表

ios - 如何将日期转换为\/Date(1440156888750-0700)\/到 Swift 可以处理的内容?

php - 如何使用 PHP 找到一个月中的第一个和最后一个日期?

javascript - 通过复选框过滤对象数组

javascript - 如何使用没有 ID 的 JavaScript 更改类?

Javascript 在媒体查询更改后覆盖 CSS 显示属性

javascript - THREEJS 着色器 Material 被覆盖

java - 数据库中输入的日期格式错误