Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

192
Views
"Invalid Date" for User Provided 64 Bit Unix Timestamp

I am working on a JavaScript application to convert a 64 bit unix time string to a logical date. I found a pretty good tutorial over at "Geeks for Geeks" and the code works fine as long as there is a hardcoded value. However, when I change the variable to accept a user value I am getting "invalid date."

The value provided and the value hard coded are the same, so I'm lead to believe I'm referencing the input or failing to convert it to another variable type. Any explanation is greatly appreciated.

Basically, this code works:

            var mSeconds = 1638000000000;

This code returns "invalid date"

            var mSeconds = inputDate;

Even though the value is the same.

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 -->

about 4 years ago · Santiago Trujillo
1 answers
Answer question

0

You have two issues in your code:

  1. The input value retrieval should be done in the convert method. As it's currently done, you retrieve the initial value of the input and use it everytime in your convert method

  2. You have to parse the input value as an integer to call the correct Date constructor.

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 -->

about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!