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

138
Vistas
Calcule la diferencia de tiempo entre la fecha utc y la fecha dada en Javascript

En Javascript, quiero calcular la diferencia entre la fecha de hoy (pero ajustada a GMT0) y una fecha dada 1970/01/01 en milisegundos.

En PowerShell, por ejemplo, será (([datetime]::UtcNow) - (get-date "1/1/1970")).TotalMilliseconds

Traté de usar moment.js como:

 A = moment.utc(); B = moment('19700101', 'YYYYMMDD') console.log("A is ",A) console.log("B is ",B) console.log("A format is ", A.format()) console.log("B format is ", B.format()) console.log("Milisec diff : ", A.diff(B,'miliseconds'))

Vuelve

 A is h {_isAMomentObject: true, _useUTC: true, _isUTC: true, _l: undefined, _i: undefined, …}_d: Fri Nov 05 2021 10:43:43 GMT+0100 (heure normale d'Europe centrale) {}_f: undefined_i: undefined_isAMomentObject: true_isUTC: true_isValid: true_l: undefined_offset: 0_pf: {empty: false, unusedTokens: Array(0), unusedInput: Array(0), overflow: -2, charsLeftOver: 0, …}_strict: undefined_useUTC: true_z: null[[Prototype]]: Object B is h {_isAMomentObject: true, _i: '19700101', _f: 'YYYYMMDD', _l: undefined, _strict: undefined, …}_a: (7) [1970, 0, 1, 0, 0, 0, 0]_d: Thu Jan 01 1970 00:00:00 GMT+0100 (heure normale d'Europe centrale) {}_f: "YYYYMMDD"_i: "19700101"_isAMomentObject: true_isUTC: false_isValid: true_l: undefined_pf: {empty: false, unusedTokens: Array(0), unusedInput: Array(0), overflow: -1, charsLeftOver: 0, …}_strict: undefined[[Prototype]]: Object A format is 2021-11-05T09:43:43+00:00 B format is 1970-01-01T00:00:00+01:00 Milisec diff : 1636109023628

Entonces el diff no es el bueno , se lleva A con el horario local (10:43 para mi) y no el horario UTC (9:43). Probablemente se deba a que debe considerar A.format para ver 9:43, pero no podemos dar A.format a la función diff.

Gracias por tu ayuda !

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Un pequeño cambio en el código anterior debería darte el resultado que deseas:

 A = moment.utc(); B = moment.utc(0) console.log("A is ",A) console.log("B is ",B) console.log("A format is ", A.format()) console.log("B format is ", B.format()) console.log("Milisec diff : ", A.diff(B,'miliseconds'))
 .as-console-wrapper { max-height: 100% !important; top: 0; }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js" integrity="sha512-qTXRIMyZIFb8iQcfjXWCO8+M5Tbc38Qi5WzdPOYZHIlZpzBHG3L3by84BBBOiRGiEb7KKtAOAs5qYdUiZiQNNQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>

También puede usar una marca de tiempo ISO 8601 con una zona horaria UTC ('Z'), así:

 A = moment.utc(); B = moment('1970-01-01T00:00:00Z') console.log("A is ",A) console.log("B is ",B) console.log("A format is ", A.format()) console.log("B format is ", B.format()) console.log("Milisec diff : ", A.diff(B,'miliseconds'))
 .as-console-wrapper { max-height: 100% !important; top: 0; }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js" integrity="sha512-qTXRIMyZIFb8iQcfjXWCO8+M5Tbc38Qi5WzdPOYZHIlZpzBHG3L3by84BBBOiRGiEb7KKtAOAs5qYdUiZiQNNQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>

Una forma más sencilla de usar el objeto JS Date nativo es simplemente usar Date.now() , esto le dará la cantidad de milisegundos desde 1970-01-01 00:00:00 UTC.

 console.log("Milisec diff : ", Date.now())

about 4 years ago · Juan Pablo Isaza 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