Laden...

Wie speichere ich den Datentyp Time in SQLite?

Erstellt von gokho87 vor 8 Jahren Letzter Beitrag vor 8 Jahren 2.259 Views
G
gokho87 Themenstarter:in
22 Beiträge seit 2015
vor 8 Jahren
Wie speichere ich den Datentyp Time in SQLite?

Hallo,
wie auch in der Überschrift zu verstehen ist, möchte ich ín meiner SQLite Datenbank die Zeit speuchern, wie funktioniert das bei SQLite oder gibt es den Datentyp eigentlich bei SQLite?

vielen Dank

2.078 Beiträge seit 2012
vor 8 Jahren

Siehe hier Punkt 1.2

SQLite does not have a storage class set aside for storing dates and/or times. Instead, the built-in Date And Time Functions of SQLite are capable of storing dates and times as TEXT, REAL, or INTEGER values:

TEXT as ISO8601 strings ("YYYY-MM-DD HH:MM:SS.SSS").

REAL as Julian day numbers, the number of days since noon in Greenwich on November 24, 4714 B.C. according to the proleptic Gregorian calendar.

INTEGER as Unix Time, the number of seconds since 1970-01-01 00:00:00 UTC.

Applications can chose to store dates and times in any of these formats and freely convert between formats using the built-in date and time functions.

2.207 Beiträge seit 2011
vor 8 Jahren

Hallo gokho87,

wie auch in der Überschrift zu verstehen ist

nein ist es nicht 😃. Ich hab den Titel mal angepasst, dass es ersichtlich ist. Bedenke immer, dass die Leute die SuFu nutzen und dann erstmal nur den Titel sehen. Dass du Probleme beim Speichern hast wird aus dem Titel "SQLite - Datentyp Time" nicht ersichtlich. Wenn dir ein besserer Titel einfällt, kannst du gerne nochmal editieren.

Gruss

Coffeebean

16.806 Beiträge seit 2008
vor 8 Jahren
  • Datenbankwerte immer als UTC Speichern
  • Wenn kein DateTime direkt verfügbar ist, dann, nimm nen String und das ISO 8601 Date, denn da sind alle Informationen mit einer ausreichenden Genauigkeit enthalten (Beispiel: 2015-01-20T08:14:49.172Z), müsste IIRC über Format-Parameter "o" erfolgen.

Warum SQLite in ihrer Beschreibung aber sowohl UTC(das Z) wie auch die Time Zone Designators nicht erwähnt, das ist mir ein Rätsel. Das T ist der Delimiter für Datum und Zeit.

J
251 Beiträge seit 2012
vor 8 Jahren

Iwie verstehe ich das Problem nicht 😃

Ich habe kein Problem damit per SQLite eine Tabelle zu erstellen, welches ein Feld vom Typ DateTime hat.
Diese lässt sich ohne Probleme mit dem C#-DateTime Typ füllen und als solches wieder zurück konvertieren.

Daher würde ich erst mal sehen, was schon unternommen wurde und wo eher das Problem ist.

D
152 Beiträge seit 2013
vor 8 Jahren

Geht es um die Speicherung einer Uhrzeit also ohne das Datum?

Hierfür hat hat der SQL Server wohl den Datentyp time (Transact-SQL).

Diesen gibt es so wohl nicht in SQLite.
Man könnte z.B. integer nehmen, der die Minuten oder Sekunden seit 0:00 Uhr darstellt.