Ich bin Abfragen und Daten aus einer SQLite3 Datenbank in C# abrufen, die das Datum speichert/Zeiten in Unix Epoche ZeitSQLite-Abfrage, die Unix-Epoche Datum/Uhrzeit konvertiert und arbeitet mit DST in C#
Einige sind als die Nummer gespeichert Sekunden seit dem 01.01.1970
und einige werden als die Anzahl der Sekunden seit dem 01.01.2001
das ist alles in Ordnung gespeichert als Meine Abfrage den Unterschied herausfinden kann und wendet die korrekte Datum/Zeitumstellung
Allerdings vermag ich nicht figur e eine Art und Weise kann ich dies tun Daylight Saving Time
Gibt es eine Weise, die ich zwischen DST unterscheiden kann zu integrieren?
Auch ist es eine Möglichkeit, die Zeitzone aus der Unix-Epoche Zeit zu bekommen?
Die Abfrage ich benutze ist unten, jede Hilfe bei diesem würde
string query = "SELECT case when date<978307200 then datetime(date + 978307200,'unixepoch') else datetime(date,'unixepoch') end
AS [DATE/TIME]
FROM message
ORDER BY ROWID";
durch differenzieren zwischen DST Ich meine die Abfrage, die den Unterschied zwischen wann DST sollte oder nicht angewendet werden sollte – Daniel
Noch verstehe ich nicht, dass Sie versuchen zu sagen. Nichtsdestotrotz ist die Lösung die gleiche. Verwenden Sie UTC-Zeit und konvertieren Sie sie dann in local, dann erforderlich. –
Die Datenbank, von der ich lese, habe keine Kontrolle darüber, wie die Dinge gespeichert werden. Es speichert also die Daten so, wie sie konfiguriert wurden. Wenn ich sie mit meiner SELECT-Anweisung in meiner Frage lese, gibt sie die korrekten UTC-Daten und -Zeiten für alle Zeiten zurück, für die DST bereits eine Stunde vorgelaufen war. Sie zeigen zum Beispiel wie 2012/03/26 01:09:32 anstelle von 2012/03/26 02:09:32 – Daniel