2017-09-04 1 views
-1

J'utilise moment js pour les conversions de fuseau horaire.Le moment Js change l'heure dans l'objet fuseau horaire même lorsque le fuseau horaire du système est identique au fuseau horaire fourni

moment.tz("2017-09-04 1:48 PM", "Asia/Calcutta").format("DD-MM-YYYY HH:mm A"); 

Moment js conversion du temps 2017-09-04 1:48 PM-04-09-2017 19:18 PM alors que le système est dans le même fuseau horaire Asia/Calcutta.

Comment résoudre ce problème.

enter image description here

Mon fuseau horaire du système est Asia/Calcutta. Utilisé moment.tz.guess(); pour obtenir la valeur exacte du fuseau horaire.

moment.tz("2017-09-04 1:48 PM", moment.tz.guess()).format("DD-MM-YYYY HH:mm A");

cela change aussi le temps.

Merci d'avance.

Répondre

3

Votre entrée n'est pas conforme au format ISO 8601, vous devez ajouter le paramètre de format "YYYY-MM-DD h:mm A" lors de l'analyse.

Votre code donne Obsolescence Attention, donc vous devez utiliser moment(String, String) méthode d'analyse comme le suggère le parsing guide.

Voici un échantillon de travail:

var m = moment.tz("2017-09-04 1:48 PM", "YYYY-MM-DD h:mm A", "Asia/Calcutta").format("DD-MM-YYYY HH:mm A"); 
 
console.log(m);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.13/moment-timezone-with-data-2012-2022.min.js"></script>