Ich arbeite an einem Projekt und plötzlich ein Problem gefunden. Problem war, dass der Server Unix-Zeitstempel sendet, was GMT ist, aber aufgrund der Sommerzeit wurde das Datum als GMT aufgefüllt. Es kann vom Server Ende erreichbar sein, aber es gibt sehr einfache Art und Weise, wo wir es zu lokaler Zeitzone (in meinem Fall MGZ BST) umwandeln könnenWie Tag Licht speichern und konvertieren zu BST (lokale Zeit) in Moment js
Erstellen Sie drei Variablen
- getPerfectLocalTime
- yourUnixTimestamp
- yourFormat
und unterhalb der Logik ist, können Sie
var GMTtime = moment(yourUnixTimestamp*1000).format('YYYY-MM-DD HH:mm:ss'); // It should be YYYY-MM-DD format
var convertToUtc = moment.utc(GMTtime).format('YYYY-MM-DD HH:mm:ss');
var localTimeToDate = moment.utc(convertToUtc).toDate();
var isDSTDateTime = moment(GMTtime, 'YYYY-MM-DD');
var month = isDSTTime.format('M');
var day = isDSTTime.format('D');
var year = isDSTTime.format('YYYY');
if(moment([year, month, day]).isDST()){
\t getPerfectLocalTime = moment(localTimeToDate).format(yourFormat);
}else {
\t getPerfectLocalTime = moment(yourUnixTimestamp*1000).format(yourFormat);
}
Hoffe, dass es jemand in der Programmierung Welt hilft :)
Gibt es hier eine Frage? Ich kann Ihren Code erheblich vereinfachen, wenn Sie danach fragen. –
Und eigentlich ist die Berechnung hier falsch. Im Allgemeinen, wenn Sie durch Parsing und Formatierung Reifen springen, tun Sie wahrscheinlich es falsch machen. –
Hallo Matt, danke für deine Antwort. Das ist eigentlich keine Frage. Dies ist nur ein Beitrag, der jemandem helfen kann, der es nutzen möchte. Tut mir leid zu sagen, es funktioniert perfekt für mich. Es wäre toll, wenn du mir sagen könntest, wo es falsch ist, damit ich es korrigieren kann. Danke – Mihir