web-dev-qa-db-fra.com

Javascript pour convertir l'heure UTC en heure locale

OK, dites la date UTC de la chaîne d'analyse JSON comme ci-dessous:

2012-11-29 17:00:34 UTC

Maintenant, si je veux convertir cette date UTC en heure locale, comment puis-je le faire?

Comment puis-je le formater en quelque chose d'autre comme yyyy-MM-dd HH:mm:ss z?

Ce date.toString('yyyy-MM-dd HH:mm:ss z'); ne fonctionnera jamais: /

36
lannyboy

Essayer:

var date = new Date('2012-11-29 17:00:34 UTC');
date.toString();
45
ajtrichards
var offset = new Date().getTimezoneOffset();

offset sera l'intervalle en minutes de l'heure locale à l'heure UTC. Pour obtenir l'heure locale à partir d'une date UTC, vous devez ensuite soustraire les minutes de votre date.

utc_date.setMinutes(utc_date.getMinutes() - offset);
32
Surabhi

Cela devrait marcher 

var date = new Date('2012-11-29 17:00:34 UTC');
date.toString()
1
Murali Prasanth

Les solutions ci-dessus sont correctes mais pourraient se bloquer dans FireFox et Safari! et c'est ce que webility.js tente de résoudre. Vérifiez la fonction toUTC, cela fonctionne sur la plupart des sources principales et renvoie l'heure au format ISO

1
Khaled Al-Ansari

Pour formater votre date, essayez la fonction suivante:

var d = new Date();
var fromatted = d.toLocaleFormat("%d.%m.%Y %H:%M (%a)");

Mais l’inconvénient, c’est qu’il s’agit d’une fonction non standard , qui ne fonctionne pas dans Chrome, mais fonctionne dans FF (autant que je sache).

Chris

1
user2645663

Vous pouvez jeter un oeil à date et heure api pour manipuler facilement la date.

let now = date.format(new Date(), 'YYYY-MM-DD HH:mm:ss', true);
console.log(now);
<script src="https://cdn.jsdelivr.net/npm/date-and-time/date-and-time.min.js"></script>

0
Yi-Ting Liu