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: /
Essayer:
var date = new Date('2012-11-29 17:00:34 UTC');
date.toString();
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);
Cela devrait marcher
var date = new Date('2012-11-29 17:00:34 UTC');
date.toString()
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
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
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>