2017-08-08 3 views
1

Ich habe eine UTC Datum Uhrzeit Zeichenfolge und Zeitzone Name. Ich bekomme das von einer Drittanbieter-API. Ich muss die UTC-Zeit mit JavaScript/NodeJS in die lokale Zeit dieser Zeitzone umwandeln und die aktuelle Zeit der Zeitzone ermitteln. Gibt es eine Bibliothek/Methode für dasselbe?JavaScript: Konvertieren UTC-Zeit in lokale Zeit mit Zeitzone

var timezone = "America/New_York";//This will always be in Olson format. 
var UTCTime = "2017-09-03T02:00:00Z"; 
var localTime; //I need to find the equivalent of UTCTime for America/New_York 
var currentTime; //Current time of time zone America/New_York 
+0

Hilfreiche Ressource https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date – Atiq

+0

Moment (http://momentjs.com/docs/) ist eine sehr mächtige und beliebte Datumsmanipulation Bibliothek, wahrscheinlich kann Ihre Anforderung davon abgedeckt werden. – tibetty

Antwort

0

Dies kann in wenigen Arten erfolgen:

var options = { 
    timeZone: "America/New_York", 
    year: 'numeric', month: 'numeric', day: 'numeric', 
    hour: 'numeric', minute: 'numeric', second: 'numeric' 
}; 

var formatter = new Intl.DateTimeFormat([], options); 

var UTCTime = "2017-09-03T02:00:00Z"; 
var localTime = formatter.format(new Date(UTCTime)); 
var currentTime = formatter.format(new Date()); console.log(currentTime, localTime); 

Oder Sie moment.js Bibliothek verwenden können.

0

Sie könnten getTimezoneOffset() verwenden, die den Offset in Minuten zurückgibt. Sie können dann Ihr Datum auf die entsprechende Rückgabe der Funktion ändern.

Sie können auch sehen, moment.js, die eine sehr nützliche Bibliothek ist, wenn es um Javascipt Termine kommt.

Verwandte Themen