SQLite & Datumsfunktionen

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Benutzeravatar
Kiffi
Beiträge: 10715
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

SQLite & Datumsfunktionen

Beitrag von Kiffi »

Hallo,

SQLite bietet interessante Datumsfunktionen. U.a. kann man die UTC relativ einfach ermitteln:

Code: Alles auswählen

UseSQLiteDatabase()
OpenDatabase(0, ":memory:", "", "", #PB_Database_SQLite)
DatabaseQuery(0, "Select DateTime('now', 'localtime'), DateTime('now', 'utc')")
NextDatabaseRow(0)
Debug "LocalTime:" + GetDatabaseString(0,0)
Debug "UTC:"       + GetDatabaseString(0,1)
Das ganze sollte plattformübergreifend funktionieren.

Weitere Infos hier: http://www.sqlite.org/lang_datefunc.html

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: SQLite & Datumsfunktionen

Beitrag von ts-soft »

:allright:
Hallo Peter,
ich habe hier aber irgendwie ein falsches Ergebnis? Der Unterschied sind doch keine 4 Stunden, oder?
Debugger-Ausgabe hat geschrieben:LocalTime:2011-10-24 11:32:43
UTC:2011-10-24 07:32:43
Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Kiffi
Beiträge: 10715
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: SQLite & Datumsfunktionen

Beitrag von Kiffi »

ts-soft hat geschrieben:Der Unterschied sind doch keine 4 Stunden, oder?
öhm, stibimmt. Wir sind momentan UTC+2. Da ist noch was
faul. Muss ich noch kontrollieren...

Danke für den Hinweis & Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
Kiffi
Beiträge: 10715
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: SQLite & Datumsfunktionen

Beitrag von Kiffi »

seltsam...

Code: Alles auswählen

UseSQLiteDatabase()
OpenDatabase(0, ":memory:", "", "", #PB_Database_SQLite)
DatabaseQuery(0, "Select DateTime('now'), DateTime('now', 'localtime'), DateTime('now', 'utc')")
NextDatabaseRow(0)

Define Ausgabe.s

Ausgabe + "DateTime('now', 'utc'): "       + #TAB$ + GetDatabaseString(0,2) + #LF$
Ausgabe + "DateTime('now'): "              + #TAB$ + #TAB$ + GetDatabaseString(0,0) + #LF$
Ausgabe + "DateTime('now', 'localtime'): " + #TAB$ + GetDatabaseString(0,1) + #LF$

MessageRequester("", Ausgabe)
ergibt hier in DE:

Code: Alles auswählen

DateTime('now', 'utc'):        2011-10-24 08:13:52
DateTime('now'):               2011-10-24 10:13:52
DateTime('now', 'localtime'):  2011-10-24 12:13:52
und in BR:

Code: Alles auswählen

DateTime('now', 'utc'):         2011-10-24 12:13:52
DateTime('now'):                2011-10-24 10:13:52
DateTime('now', 'localtime'):   2011-10-24 08:13:52
mir scheint, als sei das DateTime('now') das 'richtigere' UTC.

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Re: SQLite & Datumsfunktionen

Beitrag von bobobo »

guggemal
http://sqlite.org/lang_datefunc.html

ein Neuverwursten von now mit utc führt halt zu komischen Ergebnissen weil now eben
schon die MaschinenZeit ohne die Zeitverschiebung nach zone und DayLightSaving liefert.

nimm doch mal zur weiteren Verwirrung :)

Code: Alles auswählen

DateTime('now','utc','localtime','utc','utc','localtime');
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
Kiffi
Beiträge: 10715
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: SQLite & Datumsfunktionen

Beitrag von Kiffi »

bobobo hat geschrieben:[...] weil now eben schon die MaschinenZeit ohne die Zeitverschiebung nach zone und DayLightSaving liefert.
ah! Danke für die Erleuchtung! :allright:

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Re: SQLite & Datumsfunktionen

Beitrag von bobobo »

bedank dich bei sqlite.org 8)
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Antworten