javascript - reloj - Momento Js UTC a hora local
set timezone javascript (4)
Estoy tratando de convertir la hora UTC a la hora local. He estado siguiendo este ejemplo desde este enlace: http://jsfiddle.net/FLhpq/4/light/ . Parece que no puedo obtener la salida local correcta. Por ejemplo, si son las 10:30 am aquí, en lugar de las 10:30, obtendré las 15:30. Aquí está mi código:
var date = moment.utc().format(''YYYY-MM-DD HH:mm:ss'');
var localTime = moment.utc(date).toDate();
localTime = moment(localTime).format(''YYYY-MM-DD HH:mm:ss'');
console.log("moment: " + localTime);
No importa lo que haga, la hora siempre sale a la hora UTC. Vivo en Houston, así que sé que la zona horaria es el problema. He seguido el código en el enlace, pero parece que puedo obtener la hora local. ¿Qué estoy haciendo mal?
Nota: actualice el formato de fecha en consecuencia.
Formato de fecha
__formatDate: function(myDate){
var ts = moment.utc(myDate);
return ts.local().format(''D-MMM-Y'');
}
Formato de hora
__formatTime: function(myDate){
var ts = moment.utc(myDate);
return ts.local().format(''HH:mm'');
},
Para convertir la hora UTC a Local, debe usar
moment.local()
.
Para más información ver docs
Ejemplo:
var date = moment.utc().format(''YYYY-MM-DD HH:mm:ss'');
console.log(date); // 2015-09-13 03:39:27
var stillUtc = moment.utc(date).toDate();
var local = moment(stillUtc).local().format(''YYYY-MM-DD HH:mm:ss'');
console.log(local); // 2015-09-13 09:39:27
Manifestación:
var date = moment.utc().format();
console.log(date, "- now in UTC");
var local = moment.utc(date).local().format();
console.log(local, "- UTC now to local");
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>
Prueba esto:
let utcTime = "2017-02-02 08:00:13";
var local_date= moment.utc(utcTime ).local().format(''YYYY-MM-DD HH:mm:ss'');
let utcTime = "2017-02-02 08:00:13.567";
var offset = moment().utcOffset();
var localText = moment.utc(utcTime).utcOffset(offset).format("L LT");
Prueba este JsFiddle