Speichern Datum & Zeit, in der SQLite Datenbank in der Android
Bin ich ein bisschen verwirrend, wie etwa zum speichern von Datum, $ Zeit, in der SQLite Datenbank in der Android.
Ich brauche zu speichern, Aktuelles Datum & Zeit in meine Datenbank-Tabelle.
also:
1) Die Art zu verwenden, beim erstellen von Datum - /Zeit-Spalte in meiner Tabelle?
2) Wie man den aktuellen Datum/Zeit und speichern es in die Datenbank-Tabelle nach der Spalte Typ gewählt?
Bezüglich Punkt 1) einige Leute sagen, verwenden Sie einen text-Typ, einige andere zu int und einige andere zu datetime..... aber SQLite 3 empfiehlt die Speicherung von Datum/Uhrzeit, wie unten:
Kann ich nicht sehen, dass SQLite unterstützt den datetime-Typ aus. Die einzige unterstützte Typen von SQLite sind: null, integer, real, text und blob (so datetime ist hier nicht aufgeführt).
also ich verstehe nicht, warum hier
sagt es zu verwenden DATETIME-Spalte Typ-und set default-Wert als DEFAULT CURRENT_TIMESTAMP bei der Erstellung von Datenbank-Tabelle.
Speichern es als Millisekunden, das problem ist, dass die Zeitzone ist verloren. In diesem Fall heißt es sparen, die separat und ich nicht kwnow, wie, um loszuwerden, diese...
Bezüglich Punkt 2), denke ich, mehrere Möglichkeiten.... mit DATETIME('now') oder System.currentTimeMillis()... aber ich weiß nicht, ob es ist der beste Weg,....
Wie kann ich loswerden dieser?
- INTEGER-Typ und System.currentTimeMillis()/1000. im Date-Konstruktor multiplizieren timestamp von 1000
- Oder besser, nur speichern die millis. Keine Notwendigkeit, dividieren Sie durch 1000. Eine gute Regel für den Umgang mit Daten in Java ist nicht zu conversions, bis der Benutzer muss auf Sie scheinen.
- Ich glaube, dass die Speicherung von einer Millisekunde macht keinen Sinn ))
Du musst angemeldet sein, um einen Kommentar abzugeben.
In der Dokumentation bei https://www.sqlite.org/datatype3.html 1.2 Datum und Uhrzeit-Datentyp
sagt, dass abhängig von der Verwendung des Datum-und Zeit-Funktionen von sqlite speichert Datums-und Zeitwerte in verschiedenen Arten von Feld-Typen. Sie Typen, die Sie erklärt.
Auch die docs sagen https://www.sqlite.org/lang_datefunc.html können Sie die DATETIME-Funktion zum erstellen einer Datums-Zeit-string-Wert. Auch die Zeitzone.
Hoffe, das hilft. Ich würde es vorziehen, zu verwenden, unix-timestamp und seprated Zeitzone Wert. Da kannst du dann das date-Objekt einfacher.
Sqlite standardmäßig speichern datetime im utc format yyyy-mm-dd hh:mm:ss,
Sie können speichern Sie den Wert im datetime-Typ-Spalte als current_timestamp für die aktuelle Zeit. Sie
können das Datum /Uhrzeit in der örtlichen Zeitzone Abfragen-