JavaScript Timestamp UTC to Local Time , Winterzeit Sommerzeit

isyyy

Lieutenant
Registriert
Aug. 2010
Beiträge
671
Hallo zusammen,

ich bin leider ein bisschen verzweifelt weil ich im Internet nichts gebrauchbares gefunden habe.

Ich habe einen UTC Timestamp 1468177200 (Sun, 10 Jul 2016 19:00:00 +0000).

Je nachdem wo sich der Benutzer befindet soll aus dem UTC Timestamp die Lokale Zeit errechnet werden.

Mach ich so:

var utcTimestamp = 1468177200
var offset = new Date().getTimezoneOffset() // -120
var offsetInSeconds = offset * (-60) // 7200
var timestampToLocaleTime = utcTimestamp + offsetInSeconds // 1468184400

so jetzt habe ich den Lokalen Timestamp. ABER wie berücksichtige ich jetzt Sommerzeit / Winterzeit? :freak:
Denke ich hier zu weit oder weiß einer weiter?

LG
 
Ok danke habs doch in C++ gemacht da Javs Script echt ätzend ist.

PHP:
QString GameSettings::getLocalTime(const qint64 &time) const
{
    QDateTime timeEdit = QDateTime::fromMSecsSinceEpoch(time);
    QDateTime dt = timeEdit;
    auto str = dt.toString(QStringLiteral("dd/MM/yyyy hh:mm:ss"));
    return QString(QStringLiteral("%1").arg(str));
}
 
Nebenbei bemerkt gibt es das Konzept eines lokalen Timestamps nicht, der ist immer UTC. Entscheidend ist die Repräsentation als lokale Zeit, die ich ohne Library auch nur mit einer Kneifzange anfassen würde.

Sonst hättest du quasi für die gleiche UTC-Zeit unterschiedliche Timestamps, die ja keine Angabe zur Zeitzone enthalten (aus eben genannten Gründen). ;)
 
der richtige Ansatz wäre der Vollständigkeit halber dieses gewesen:
Code:
var d = new Date(1468177200 * 1000);
alert(d.toString());
 
Zurück
Oben