【发布时间】: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