MySQL: DATE_SUB / DATE_ADD, das DST berücksichtigt?

9

Dies gibt 1 (aka TRUE )

zurück %Vor%

Vor 100 Tagen ändert sich die Stunde des Tages nicht. Aber wegen der Sommerzeit (US) sind 100 vor 24 Stunden tatsächlich eine Stunde früher, als wenn Sie nach Tagen gezählt hätten. Wenn die obige Anweisung DST berücksichtigt, würde 0 oder FALSE zurückgegeben.

Gibt es eine Möglichkeit, dass ich DST für eine bestimmte Aussage oder Sitzung erklären kann? Ich würde es vorziehen, UNIX_TIMESTAMP nicht zu verwenden, da es alles nach 2038 abschneidet.

    
George Bailey 21.04.2011, 18:59
quelle

3 Antworten

-2

Wie würde das Abschneiden von irgendetwas nach 2038 ein echtes Problem sein, wenn Sie sicher sein können, dass 64-Bit-Integer-Zeitstempel überall mindestens 20 Jahre davor immobilisiert werden?

Im Ernst, es gibt so viele Probleme mit den Datetime / timestamp-Typen in MySQL, die Sie versuchen sollten, wenn möglich zu vermeiden.

Speichern Sie viele Daten nach 2038?

Und warum nicht versuchen, PostgreSQL zu verwenden, das eine viel fortgeschrittenere Typunterstützung hat?

    
Morg. 23.09.2011, 11:30
quelle
4

Sie müssen eine benutzerdefinierte Funktion erstellen, etwa so.

%Vor%     
Johan 07.09.2011 15:17
quelle
2

Dies ist wirklich nur eine Frage der Konvertierung in UTC und zurück:

%Vor%

Dies setzt voraus, dass die Zeitzonentabellen für die Verwendung von benannten Zeitzonen eingerichtet sind. Wenn nicht, können Sie '+0: 00' anstelle von 'UTC'

verwenden     
Garr Godfrey 27.02.2017 06:03
quelle

Tags und Links