Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

189
Vistas
"Fecha no válida" para la marca de tiempo Unix de 64 bits proporcionada por el usuario

Estoy trabajando en una aplicación JavaScript para convertir una cadena de tiempo Unix de 64 bits en una fecha lógica. Encontré un tutorial bastante bueno en "Geeks for Geeks" y el código funciona bien siempre que haya un valor codificado. Sin embargo, cuando cambio la variable para aceptar un valor de usuario, aparece "fecha no válida".

El valor proporcionado y el valor codificado son los mismos, por lo que creo que estoy haciendo referencia a la entrada o no puedo convertirla a otro tipo de variable. Cualquier explicación es muy apreciada.

Básicamente, este código funciona:

 var mSeconds = 1638000000000;

Este código devuelve "fecha no válida"

 var mSeconds = inputDate;

Aunque el valor es el mismo.

 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 Respuestas
Responde la pregunta

0

Tienes dos problemas en tu código:

  1. La recuperación del valor de entrada debe realizarse en el método de conversión. Como está hecho actualmente, recupera el valor inicial de la entrada y lo usa cada vez en su método de conversión

  2. Debe analizar el valor de entrada como un número entero para llamar al constructor de fecha correcto.

 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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda