¿Cómo puedo encontrar la diferencia horaria en segundos entre dos zonas horarias diferentes? Quiero usar el momento para esto: mi hora de inicio es algo así como 2022-09-04T07:29:39Z[UTC] y la hora de finalización será la hora actual en mi interfaz.
mi codigo =
var now = new Date().getTime(); var then = "2022-03-04T07:29:39Z[UTC]"; var ms = moment(now,"DD/MM/YYYY HH:mm:ss").diff(moment(then,"DD/MM/YYYY HH:mm:ss")); //NAN var d = moment.duration(ms); var s = d.format("hh:mm:ss"); console.log("Time Difference =",s); Necesito ayuda en esto, actualmente estoy recibiendo ms como NAN, ¿cómo puedo corregirlo?
d.format no es una función expuesta por momentjs en lugar de eso, debe escribir como a continuación
var now = new Date().getTime(); var then = "2022-03-04T07:29:39Z[UTC]"; var ms = moment(now,"DD/MM/YYYY HH:mm:ss").diff(moment(then,"DD/MM/YYYY HH:mm:ss")); var d = moment.duration(ms); var s = moment(d).format('hh:mm:ss') console.log("Time Difference =",s); <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>Este tipo de cálculo se puede hacer fácilmente con Vanilla JavaScript:
const now = new Date().getTime(), then = new Date("2022-03-04T07:29:39Z"), tsec= Math.round((now-then)/1000), sec=tsec%60, tmin=(tsec-sec)/60, min=tmin%60, th=(tmin-min)/60, h=th%60, d=(th-h)/24; console.log(`Time Difference = ${d}d ${h}h ${min}m ${sec}s`);