Ich verwende die Frameworks Moment.js und Moment-Timezone und habe ein Moment.js-Datumsobjekt, das sich explizit in der UTC-Zeitzone befindet. Wie kann ich das in die aktuelle Zeitzone des Browsers konvertieren?
var testDateUtc = moment.tz("2015-01-30 10:00:00", "UTC");
var localDate = ???
Es wäre also in Ordnung, wenn ich die lokale Zeitzone des Benutzers herausfinden könnte. oder alternativ möchte ich das Datumsobjekt in ein anderes Datenobjekt konvertieren, das nur die "lokale Zeitzone" verwendet, egal was das tatsächlich ist.
quelle
moment-timezone
Bibliothek zu verwendenlocal
berücksichtigt in der Tat die Sommerzeit.EST
nach übersetzenCET
. Ich werde morgen ein Beispiel geben, wenn Sie möchtenNY
->Madrid
. Ich werde das Gegenbeispiel akzeptieren :)var dateFormat = 'YYYY-DD-MM HH:mm:ss'; var testDateUtc = moment.utc('2015-01-30 10:00:00'); var localDate = testDateUtc.local(); console.log(localDate.format(dateFormat)); // 2015-30-01 02:00:00
Siehe: http://momentjs.com/docs/#/manipulating/local/
quelle
Folgendes habe ich getan:
var timestamp = moment.unix({{ time }}); var utcOffset = moment().utcOffset(); var local_time = timestamp.add(utcOffset, "minutes"); var dateString = local_time.fromNow();
Wo
{{ time }}
ist der utc-Zeitstempel?quelle
Verwenden Sie die Funktion utcOffset.
var testDateUtc = moment.utc("2015-01-30 10:00:00"); var localDate = moment(testDateUtc).utcOffset(10 * 60); //set timezone offset in minutes console.log(localDate.format()); //2015-01-30T20:00:00+10:00
quelle