【问题标题】:"Invalid Date" for User Provided 64 Bit Unix Timestamp用户提供的 64 位 Unix 时间戳的“无效日期”
【发布时间】:2022-07-20 23:17:33
【问题描述】:

我正在开发一个将 64 位 unix 时间字符串转换为逻辑日期的 JavaScript 应用程序。我在“Geeks for Geeks”找到了一个很好的教程,只要有硬编码的值,代码就可以正常工作。但是,当我更改变量以接受用户值时,我得到“无效日期”。

提供的值和硬编码的值是相同的,所以我相信我正在引用输入或未能将其转换为另一种变量类型。任何解释都非常感谢。

基本上,这段代码可以工作:

            var mSeconds = 1638000000000;

此代码返回“无效日期”

            var mSeconds = inputDate;

即使值相同。

var inDate = document.getElementById('inputDate').value;
var outDate = document.getElementById('displayDate');
<!-- The below value is hard coded, which works-->
var mSeconds = 1638000000000;
<!-- The below value is commented out, but returns "invalid date" otherwise -->
<!-- var mSeconds = inputDate-->
inDate.innerHTML = "Entered Value = " + mSeconds;

function convert() {
  var date = new Date(mSeconds);
  outDate.innerHTML = date.toString();
}
<h1>64 Bit Unix Time Converter</h1>

<input type='text' id='inputDate'>
<button onClick="convert()">Convert</button>

<p id="displayDate"></p>

<p>Test Value 1: 1638000000000</p>
<p>Test Value 2: 1658000000000</p>
<!-- These are just values that I wanted handy to test the application -->

【问题讨论】:

  • 输入值可能是字符串?
  • var mSeconds = parseInt(inputDate);

标签: javascript


【解决方案1】:

您的代码中有两个问题:

  1. 输入值的检索应该在convert方法中完成。正如目前所做的那样,您检索输入的初始值并每次在您的转换方法中使用它

  2. 您必须将输入值解析为整数才能调用正确的 Date 构造函数。

function convert() {
  var inDate = document.getElementById('inputDate').value;
  var outDate = document.getElementById('displayDate');

  var mSeconds = parseInt(inDate)
  var date = new Date(mSeconds);
  outDate.innerHTML = date.toString();
}
<h1>64 Bit Unix Time Converter</h1>

<input type='text' id='inputDate'>
<button onClick="convert()">Convert</button>

<p id="displayDate"></p>

<p>Test Value 1: 1638000000000</p>
<p>Test Value 2: 1658000000000</p>
<!-- These are just values that I wanted handy to test the application -->

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-02
    • 2011-10-01
    • 1970-01-01
    相关资源
    最近更新 更多