Abrufen des Zeitzonenversatzes des Clients in JavaScript

615

Wie kann ich die Zeitzoneninformationen des Besuchers erfassen? Ich brauche die Zeitzone sowie die GMT-Offsetstunden.

Árvíztűrő tükörfúrógép
quelle
3
Ich habe jetzt das gleiche Problem. Hier ist ein interessanter Ansatz.
Tamás Pap
31
Der Titel fragt nach der Zeitzone, während der Text nach dem GMT-Offset fragt. Dies sind 2 verschiedene Dinge. Eine Zeitzone enthält Informationen zur Sommerzeit, der UTC-Offset jedoch nicht. Eine Zeitzone hat einen Namen und eine Historie, ein Offset nicht. Es wird empfohlen, den Titel in "Abrufen des GMT-Offsets des Clients in JS" zu bearbeiten.
Citykid
Ich brauche die Zeitzone. Der GMT-Offset wäre ebenfalls hilfreich.
DaveWalley
9
Die Antworten hier konzentrieren sich hauptsächlich auf den Versatz . Für Zeitzone sehen Sie diese Antwort . Siehe "Zeitzone! = Versatz" im Zeitzonen-Tag-Wiki .
Matt Johnson-Pint
7
Sie erhalten genaue Zeitzone mit diesem Intl.DateTimeFormat (). ResolvedOptions (). TimeZone
Mangesh Mandavgane

Antworten:

594

var offset = new Date().getTimezoneOffset();
console.log(offset);

Der Zeitzonenversatz ist die Differenz in Minuten zwischen UTC und Ortszeit. Beachten Sie, dass dies bedeutet, dass der Offset positiv ist, wenn die lokale Zeitzone hinter UTC liegt, und negativ, wenn sie voraus ist. Wenn Ihre Zeitzone beispielsweise UTC + 10 (Australian Eastern Standard Time) ist, wird -600 zurückgegeben. Die Sommerzeit verhindert, dass dieser Wert auch für ein bestimmtes Gebietsschema konstant bleibt

Beachten Sie, dass nicht alle Zeitzonen um ganze Stunden versetzt sind: Neufundland ist beispielsweise UTC minus 3h 30m (ohne Sommerzeit).

NickFitz
quelle
42
@abernier Ist die Aussage zur getTimezoneOffsetUngenauigkeit in Kraft? Der Artikel, auf den Sie sich beziehen, ist vom Juni 2007 und enthält keine Details darüber, wie die Funktion ungenau ist. Tatsächlich jsTimezoneDetectverwendet getTimezoneOffsetsich die Bibliothek, auf die Sie hingewiesen haben, selbst.
Mike
5
@abernier Es ist ein Standard seit ES 1, daher bin ich sicher, dass jedes Implementierungsproblem inzwischen behoben sein könnte. Ich meine, das ist ein 7 Jahre alter Artikel.
LasagneAndroid
49
var hrs = -(new Date().getTimezoneOffset() / 60) um in Stunden normalerweise versetzt zu werden
Edwin Daniels
6
Scheint, dass es keine Sommerzeit berücksichtigt
Shahdat
21
timezone! =utc offset
Bendytree
482

Die Verwendung eines Versatzes zur Berechnung der Zeitzone ist ein falscher Ansatz, und Sie werden immer auf Probleme stoßen. Zeitzonen und Sommerzeitregeln können sich im Laufe eines Jahres mehrmals ändern, und es ist schwierig, mit den Änderungen Schritt zu halten.

Um die IANA-Zeitzone des Systems in JavaScript abzurufen , sollten Sie verwenden

console.log(Intl.DateTimeFormat().resolvedOptions().timeZone)

Ab September 2019 funktioniert dies in 95% der weltweit verwendeten Browser .

Alte Kompatibilitätsinformationen

ecma-402 / 1.0 sagt, dass timeZonedies undefiniert sein kann, wenn es dem Konstruktor nicht zur Verfügung gestellt wird. Der zukünftige Entwurf (3.0) behebt dieses Problem jedoch, indem er zur Standardzeitzone des Systems wechselt.

In dieser Version der ECMAScript Internationalization API timeZonebleibt die Eigenschaft undefiniert, wenn timeZonein dem dem Intl.DateTimeFormat Konstruktor bereitgestellten Optionsobjekt keine Eigenschaft angegeben wurde . Anwendungen sollten sich jedoch nicht darauf verlassen, da zukünftige Versionen möglicherweise stattdessen einen String-Wert zurückgeben, der die aktuelle Zeitzone der Host-Umgebung angibt.

in ecma-402 / 3.0, das sich noch in einem Entwurf befindet, wurde es geändert

In dieser Version der ECMAScript 2015 Internationalization API ist die timeZoneEigenschaft der Name der Standardzeitzone, wenn timeZonein dem dem Intl.DateTimeFormatKonstruktor bereitgestellten Optionsobjekt keine Eigenschaft angegeben wurde . In der vorherigen Version wurde die timeZoneEigenschaft in diesem Fall nicht definiert.

Pawel Dubiel
quelle
17
Dies ist die einzige Antwort, um die Zeitzone zu erhalten, die einige Benutzer möglicherweise benötigen, im Gegensatz zum Offset. Als Update für 2016-09 funktioniert Intl auf den meisten modernen Browsern, jedoch nicht auf Safari. Für diesen Browser gibt es hier einen ziemlich genauen Javascript-Fallback - pellepim.bitbucket.org/jstz
user2085368
6
Verifiziert, dass dies nun in Safari zu funktionieren scheint. (Mit Version 10.0)
BadPirate
2
Wäre schön, wenn dies in allen modernen Browsern funktionieren würde. IE11 und der neueste Firefox geben jedoch beide undefiniert für die timeZone-Eigenschaft zurück.
Haprog
7
Ich habe jetzt mit Chrome 58, Edge 40 und Firefox 53 getestet - es funktioniert für alle. Es funktioniert nicht mit IE 11, ich habe Opera nicht getestet.
Suma
8
Es hat eine Weile gedauert, bis ich die Liste der von dieser API zurückgegebenen Zeitzonen gefunden habe. Hier ist es: en.wikipedia.org/wiki/List_of_tz_database_time_zones
Xavier Poinas
123

Mir ist klar, dass diese Antwort ein wenig vom Thema abweicht, aber ich stelle mir vor, dass viele von uns, die nach einer Antwort suchen, auch die Zeitzone für die Anzeige formatieren und möglicherweise auch die Zonenabkürzung erhalten möchten. Also los geht's ...

Wenn Sie möchten, dass die Client-Zeitzone gut formatiert ist, können Sie sich auf die JavaScript-Methode Date.toString verlassen und Folgendes tun:

var split = new Date().toString().split(" ");
var timeZoneFormatted = split[split.length - 2] + " " + split[split.length - 1];

Dies gibt Ihnen beispielsweise "GMT-0400 (EST)", einschließlich der Zeitzonenminuten, falls zutreffend.

Alternativ können Sie mit Regex jedes gewünschte Teil extrahieren:

Für "GMT-0400 (EDT)":

new Date().toString().match(/([A-Z]+[\+-][0-9]+.*)/)[1]

Für "GMT-0400":

new Date().toString().match(/([A-Z]+[\+-][0-9]+)/)[1]

Für nur "EDT":

new Date().toString().match(/\(([A-Za-z\s].*)\)/)[1]

Für nur "-0400":

new Date().toString().match(/([-\+][0-9]+)\s/)[1]

Date.toString-Referenz: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/toString

Marquez
quelle
4
Mit Chrome gebrochen, da der Name der Zeitzone angehängt wird. Verwenden Sie nicht split.length, sondern eine Konstante split[4] + " " + split[5]?!
Christophe Roussy
4
Dies funktioniert auch nicht im (Überraschung, Überraschung) IE. Ich habe gerade einen Konsolendump des geteilten Date-Objekts durchgeführt. Es ist das gleiche in Chrome, Firefox und Safari, aber anders im IE. Sie können sich also auch nicht auf die konstanten Indizes verlassen. Montag, 2. Dezember 2013, 10:22:50 Uhr GMT-0500 (EST): Chrome, FF, Safari; Mo 2. Dezember 10:22:50 EST 2013: IE10
Adimauro
1
Meine Güte, danke! Ich bin durch Reifen gesprungen und habe versucht, die Zeitzone des Browsers anzuzeigen ..... ew Date (). ToString (). Match (/ ([AZ] + [\ + -] [0-9] +. *) /) [ 1] war genau das, was ich brauchte!
KiwiSunGoddess
1
Das funktioniert nicht. Für mich splitenthält: ["Mon", "Mar", "13", "2017", "14:05:22", "GMT-0400", "(Eastern", "Daylight", "Time)"]so ist das ErgebnisDaylight Time)
DLeh
7
Dies ist eigentlich keine gute Idee. Die tatsächliche Darstellung der JS-Zeit danach new Date().toString()hängt vollständig von Ihren Ländereinstellungen ab. Es ist eine sehr schlechte Idee, zu erwarten, dass die Ergebnisse anderer Kunden Ihren ähneln.
Octopus
71

Es wurde bereits beantwortet, wie man in Minuten als Ganzzahl versetzt wird, aber falls jemand den lokalen GMT-Versatz als Zeichenfolge haben möchte, z "+1130".

function pad(number, length){
    var str = "" + number
    while (str.length < length) {
        str = '0'+str
    }
    return str
}

var offset = new Date().getTimezoneOffset()
offset = ((offset<0? '+':'-')+ // Note the reversed sign!
          pad(parseInt(Math.abs(offset/60)), 2)+
          pad(Math.abs(offset%60), 2))
Kryo
quelle
1
Sie müssen die erste Polsterung durch ersetzen pad(parseInt(Math.abs(offset/60)), 2), um es richtig zu machen. Andernfalls erhalten Sie möglicherweise +5.530 wie in meinem Fall. Ich bin mir nicht sicher, ob Matheboden usw. hier besser ist oder nicht. Aber das hier atleast gibt mir +0530 wie erwartet
Abhinav Singh
Genau das, wonach ich gesucht habe. Vielen Dank !
Codesnooker
Dies ergibt das richtige Ergebnis: this.pad (Math.floor ((Math.abs (Offset / 60))), 2)
Vivek
Anstatt Ihre Pad-Funktion zu verwenden, fällt es mir leichter, dies zu tun: offset = (offset <0? "+": "-") + ("0000" + parseInt ((Math.abs (offset / 60))) .slice (-4)
Flurbius
67

Sie können verwenden:

Moment-Zeitzone

<script src="moment.js"></script>
<script src="moment-timezone-with-data.js"></script>

// retrieve timezone by name (i.e. "America/Chicago")
moment.tz.guess();

Die Erkennung der Browser-Zeitzone ist ziemlich schwierig, da der Browser nur wenige Informationen bereitstellt.

Moment Timezone nutzt Date.getTimezoneOffset()und Date.toString()in wenigen Momenten des laufenden Jahres, um so viele Informationen wie möglich über die Browserumgebung zu sammeln. Anschließend werden diese Informationen mit allen geladenen Zeitzonendaten verglichen und die engste Übereinstimmung zurückgegeben. Bei Verbindungen wird die Zeitzone mit der bevölkerungsreichsten Stadt zurückgegeben.

console.log(moment.tz.guess()); // America/Chicago
Sameer Ek
quelle
12
Dies sollte die akzeptierte Antwort sein. Dies ist der einzige, der die aktuelle Zeitzone gibt Namen eher als ausgeglichen. Denken Sie daran, dass der Zeitzonenversatz aus dem Namen abgeleitet werden kann, das Gegenteil ist nicht der Fall. Aufgrund der Sommerzeit und anderer Feinheiten können mehrere Zeitzonen nur an bestimmten Tagen des Jahres denselben Versatz aufweisen.
Romain G
1
Hierfür gibt es jetzt eine native Lösung - die Intl-API . Während moment.js damals eine großartige Bibliothek war, gibt es derzeit weitaus kleinere Alternativen ( dayjs , date-fns ). Der Moment ist riesig ; Bitte empfehlen Sie es nicht für Client-Anwendungen.
Dan Dascalescu
43

Ich habe in meinem Projekt eine Funktion geschrieben, die die Zeitzone im hh:mmFormat zurückgibt . Ich hoffe das kann jemandem helfen:

function getTimeZone() {
    var offset = new Date().getTimezoneOffset(), o = Math.abs(offset);
    return (offset < 0 ? "+" : "-") + ("00" + Math.floor(o / 60)).slice(-2) + ":" + ("00" + (o % 60)).slice(-2);
}

// Outputs: +5:00

Geige arbeiten

Herr Green
quelle
1
Vielen Dank! Das habe ich gebraucht!
Jeremy Moritz
15

Ein Einzeiler , der sowohl den Offset als auch die Zeitzone angibt , besteht darin, einfach toTimeString () für ein neues Date-Objekt aufzurufen . Von MDN:

Die toTimeString()Methode gibt den Zeitanteil eines Date-Objekts in lesbarer Form in amerikanischem Englisch zurück.

Der Haken ist, dass die Zeitzone nicht im Standard-IANA-Format vorliegt. Es ist etwas benutzerfreundlicher als das IANA- Format "Kontinent / Stadt" . Versuch es:

console.log(new Date().toTimeString().slice(9));
console.log(Intl.DateTimeFormat().resolvedOptions().timeZone);
console.log(new Date().getTimezoneOffset() / -60);

In Kalifornien wird toTimeString()derzeit zurückgegeben, Pacific Daylight Timewährend die Intl-API zurückgegeben wird America/Los_Angeles. In Kolumbien würde man bekommen Colombia Standard Time, vs.America/Bogota .

Beachten Sie, dass viele andere Antworten auf diese Frage versuchen, dieselben Informationen durch Aufrufen von Date.toString () zu erhalten. Dieser Ansatz ist nicht so zuverlässig, wie MDN erklärt :

Datumsinstanzen beziehen sich auf einen bestimmten Zeitpunkt. Wenn Sie toString () aufrufen, wird das Datum in lesbarer Form in amerikanischem Englisch zurückgegeben. [...] Manchmal ist es wünschenswert, eine Zeichenfolge des Zeitabschnitts zu erhalten; so etwas kann mit dem erreicht werdentoTimeString() Methode erreicht werden.

Das toTimeString()Verfahren ist besonders nützlich, da sich kompatible Engines, die ECMA-262 implementieren, in der Zeichenfolge toString()für DateObjekte unterscheiden können, da das Format implementierungsabhängig ist. Einfache String-Slicing-Ansätze führen möglicherweise nicht zu konsistenten Ergebnissen über mehrere Engines hinweg.

Dan Dascalescu
quelle
13

Versuch getTimezoneOffset()des DateObjekts:

var curdate = new Date()
var offset = curdate.getTimezoneOffset()

Diese Methode gibt den Zeitzonenversatz in Minuten zurück, der die Differenz zwischen GMT und Ortszeit in Minuten darstellt.

dfa
quelle
9

JavaScript:

var d = new Date();
var n = d.getTimezoneOffset();
var timezone = n / -60;
console.log(timezone);

زياد
quelle
3
Was bietet diese Antwort, was frühere Antworten nicht haben?
Dan Dascalescu
7

Mit moment.js :

moment().format('zz');
kolypto
quelle
6
zund zzsind ab 1.6.0 veraltet, siehe momentjs.com/docs/#/displaying/format
MrUpsidown
3
@ MrUpsidown ist es jetzt ZundZZ
brauliobo
4
@brauliobo Diese Parameter geben nicht dasselbe zurück. z und zz gaben die Zeitzone zurück, z. B. CST, aber Z und ZZ geben den Offset zurück, z. B. -0600.
Luca Spiller
Neueste Docs Show .zoneAbbr()wurde ersetzt zund zz. Siehe Dokumentation hier
tabish89
1
Während moment.js damals eine großartige Bibliothek war, gibt es derzeit weitaus kleinere Alternativen ( dayjs , date-fns ). Der Moment ist riesig ; Bitte empfehlen Sie es nicht für Client-Anwendungen.
Dan Dascalescu
6

Mit finden Sie die aktuelle Zeitzone als

console.log(moment().utcOffset()); // (-240, -120, -60, 0, 60, 120, 240, etc.)
<script src="https://cdn.jsdelivr.net/momentjs/2.13.0/moment.min.js"></script>


Mit finden Sie die aktuelle Zeitzone als

console.log(dayjs().utcOffset()); // (-240, -120, -60, 0, 60, 120, 240, etc.)
<script src="https://unpkg.com/[email protected]/dayjs.min.js"></script>

Beide APIs geben den UTC-Offset in Minuten zurück.

Fizer Khan
quelle
Während moment.js damals eine großartige Bibliothek war, gibt es derzeit weitaus kleinere Alternativen ( dayjs , date-fns ). Der Moment ist riesig ; Bitte empfehlen Sie es nicht für Client-Anwendungen.
Dan Dascalescu
1
"Mit dayjs können Sie die aktuelle Zeitzone finden, da" nicht genau ist - Sie finden nur den Versatz, nicht die Zeitzone . Außerdem hat Dayjs keine Zeitzonenunterstützung . Die .utcOffset () -Methode ist ein einfacher Wrapper über die native MethodegetTimezoneOffset() .
Dan Dascalescu
4

Zeitzone in Stunden-

var offset = new Date().getTimezoneOffset();
if(offset<0)
    console.log( "Your timezone is- GMT+" + (offset/-60));
else
    console.log( "Your timezone is- GMT-" + offset/60);

Wenn Sie genau sein möchten, wie Sie im Kommentar erwähnt haben, sollten Sie Folgendes versuchen:

var offset = new Date().getTimezoneOffset();

if(offset<0)
{
    var extraZero = "";
    if(-offset%60<10)
      extraZero="0";

    console.log( "Your timezone is- GMT+" + Math.ceil(offset/-60)+":"+extraZero+(-offset%60));
}
else
{
    var extraZero = "";
    if(offset%60<10)
      extraZero="0";

    console.log( "Your timezone is- GMT-" + Math.floor(offset/60)+":"+extraZero+(offset%60));
}

Abrar Jahin
quelle
Funktioniert nicht für Zeitzonen, in denen es keine volle Stunde ist, wie in Venezuela, wo GMT-4.5
Mirko
Ja, das ist richtig. 0,5 bedeutet 0,5 * 30 Minuten. Ich denke du hast das verstanden, warum es 0,5 gibt?
Abrar Jahin
Ja, GMT-4.5 ist also keine gültige Zeitzone. Um GMT-4: 30
Mirko
@ Mirko jetzt zweiter Teil der Antwort ist für Sie
Abrar Jahin
Wenn Sie genauer sein möchten, verwenden Sie UTC anstelle von GMT, [Hilton und McCarthy 2013, S. 231–2. ], siehe auch bei Wikipedia GMT - ( en.wikipedia.org/wiki/Greenwich_Mean_Time )
Tom Kuschel
3

Wenn Sie nur die Zeitzonenabkürzung "MST" oder "EST" benötigen:

function getTimeZone(){
    var now = new Date().toString();
    var timeZone = now.replace(/.*[(](.*)[)].*/,'$1');//extracts the content between parenthesis
    return timeZone;
}
JohnP2
quelle
Die Verwendung Date.toString()ist nicht zuverlässig, und MDN erklärt, warum. Ich habe den entsprechenden Abschnitt aus den Dokumenten in meine Antwort eingefügt .
Dan Dascalescu
3

Sehen Sie, dieser resultierende Operator war der Zeitzone entgegengesetzt. Wenden Sie also eine mathematische Funktion an und validieren Sie die Zahl weniger oder mehr.

Geben Sie hier die Bildbeschreibung ein

Siehe das MDN-Dokument

var a = new Date().getTimezoneOffset();

var res = -Math.round(a/60)+':'+-(a%60);
res = res < 0 ?res : '+'+res;

console.log(res)

Prasanth
quelle
1
Bei negativem Wert ein Problem
Arun Prasad ES
1
Warum round? Es sollte sein floor, nicht wahr?
Qwertiy
3
function getLocalTimeZone() {
    var dd = new Date();
    var ddStr = dd.toString();
    var ddArr = ddStr.split(' ');
    var tmznSTr = ddArr[5];
    tmznSTr = tmznSTr.substring(3, tmznSTr.length);
    return tmznSTr;
}

Beispiel: Do 21.06.2018 18:12:50 GMT + 0530 (India Standard Time)

O / P: +0530

Chandrakanth Gowda
quelle
Die Verwendung Date.toString()ist nicht zuverlässig, und MDN erklärt, warum. Ich habe den entsprechenden Abschnitt aus den Dokumenten in meine Antwort eingefügt .
Dan Dascalescu
3

Versuche dies,

new Date().toString().split("GMT")[1].split(" (")[0]
Srinivasan Sekar
quelle
2

Dieser Wert stammt vom Computer des Benutzers und kann jederzeit geändert werden. Ich denke, das spielt keine Rolle. Ich möchte nur einen ungefähren Wert abrufen und ihn dann auf meinem Server in GMT konvertieren.

Zum Beispiel bin ich aus Taiwan und es gibt "+8" für mich zurück.

Arbeitsbeispiel

JS

function timezone() {
    var offset = new Date().getTimezoneOffset();
    var minutes = Math.abs(offset);
    var hours = Math.floor(minutes / 60);
    var prefix = offset < 0 ? "+" : "-";
    return prefix+hours;
}


$('#result').html(timezone());

HTML

<div id="result"></div>

Ergebnis

+8
Terry Lin
quelle
2

Auf der new Date() können Sie den Offset erhalten, um den Zeitzonennamen zu erhalten, den Sie tun können:

new Date().toString().replace(/(.*\((.*)\).*)/, '$2');

Sie erhalten den Wert zwischen ()am Ende des Datums, dh dem Namen der Zeitzone.

Moysés Lacerda
quelle
Die Verwendung Date.toString()ist nicht zuverlässig, und MDN erklärt, warum. Ich habe den entsprechenden Abschnitt aus den Dokumenten in meine Antwort eingefügt . Auch diese Antwort wurde bereits mindestens dreimal gegeben.
Dan Dascalescu
2

Das wäre meine Lösung:


    // For time zone:
    const timeZone = /\((.*)\)/.exec(new Date().toString())[1];
    
    // Offset hours:
    const offsetHours = new Date().getTimezoneOffset() / 60;
    
    console.log(`${timeZone}, ${offsetHours}hrs`);

quelle
1

Alternativ zu new Date().getTimezoneOffset()und moment().format('zz')können Sie auch verwenden::

var offset = moment.parseZone(Date.now()).utcOffset() / 60
console.log(offset);
<script src="https://cdn.jsdelivr.net/momentjs/2.13.0/moment.min.js"></script>

jstimezone ist auch ziemlich fehlerhaft und nicht gewartet ( https://bitbucket.org/pellepim/jstimezonedetect/issues?status=new&status=open )

Brauliobo
quelle
Während moment.js damals eine großartige Bibliothek war, gibt es derzeit weitaus kleinere Alternativen ( dayjs , date-fns ). Der Moment ist riesig ; Bitte empfehlen Sie es nicht für Client-Anwendungen.
Dan Dascalescu
1

Verwenden Sie diese Option, um OffSet in Postive umzuwandeln:

var offset = new Date().getTimezoneOffset();
console.log(offset);
this.timeOffSet = offset + (-2*offset);
console.log(this.timeOffSet);
Kumal Pereira
quelle
-2

Ich suchte nur nach der 3-Buchstaben-Zeichenfolge (wie "PDT") und versuchte Marquez 'Antwort, musste sie aber für die browserübergreifende Unterstützung ein wenig optimieren. Zum Glück ist die Saite das letzte mögliche Match :)

Folgendes habe ich in CoffeeScript getan:

browserTimezone = ->
  userDate = new Date()
  zoneMatches = userDate.toString().match(/([A-Z][A-Z][A-Z])/g)
  userZone = zoneMatches[zoneMatches.length - 1]

Funktioniert in IE8, IE9, Safari 9, Firefox 44 und Chrome 48

Ari Gold
quelle
2
Es gibt jedoch Zeitzonen mit 4 Buchstaben - seien Sie vorsichtig: MESZ zum Beispiel (Mitteleuropäische Sommerzeit)
jbrosi
Die Verwendung Date.toString()ist nicht zuverlässig, und MDN erklärt, warum. Ich habe den entsprechenden Abschnitt aus den Dokumenten in meine Antwort eingefügt .
Dan Dascalescu
-3

Sie müssen nur moment.js und jstz.js einschließen

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jstimezonedetect/1.0.6/jstz.min.js"></script>

und danach

<script>
$(function(){
 var currentTimezone = jstz.determine();
 var timezone = currentTimezone.name();
 alert(timezone);
});

</script>
Dayachand Patel
quelle
-3

Das ist sehr gute Arbeit für mich:

// Translation to offset in Unix Timestamp
let timeZoneOffset = ((new Date().getTimezoneOffset())/60)*3600;
Alexander
quelle
1
Irgendeine Erklärung?
-4

Sie können dies einfach versuchen. Sie erhalten die aktuelle Maschinenzeit zurück

var _d = new Date(), t = 0, d = new Date(t*1000 + _d.getTime())

user8066707
quelle
Ich denke, so sollte es gemacht werden: new Date(new Date().getTime()); Es würde angezeigt werden: "Fr 28 Dez 2018 10:15:23 GMT + 0100 (Mitteleuropäische Standardzeit) {}"
darmis
-4

Dies wird den Job machen.


var time = new Date(),
timestamp = Date(1000 + time.getTime());
console.log(timestamp);

Thu May 25 2017 21:35:14 GMT+0300 (IDT)

nicht definiert

SysMurff
quelle