フィールドの1つが日付用で、現在のインスタンスの日付と時刻が保存されるSQLiteでテーブルを作成したいと思います。どのデータ型を使用すればよいですか?
「タイムスタンプ」を使用する予定です。現在のタイムスタンプ値をフィールドに挿入する方法は? また、この日付フィールドのコンテンツ値を書き込む方法は?
フィールドの1つが日付用で、現在のインスタンスの日付と時刻が保存されるSQLiteでテーブルを作成したいと思います。どのデータ型を使用すればよいですか?
「タイムスタンプ」を使用する予定です。現在のタイムスタンプ値をフィールドに挿入する方法は? また、この日付フィールドのコンテンツ値を書き込む方法は?
SQLite は、標準の SQL 変数CURRENT_DATE
、CURRENT_TIME
、および をサポートしていCURRENT_TIMESTAMP
ます。
INSERT INTO Date (LastModifiedTime) VALUES(CURRENT_TIMESTAMP)
SQLiteの日付/時刻のデフォルトのデータ型は ですTEXT
。
ContentValues
一般的な SQL 式の使用を許可せず、固定値のみを使用するため、Java で現在の時刻を読み取る必要があります。
cv.put("LastModifiedTime",
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
INSERT INTO Date (LastModifiedTime) VALUES(DateTime('now'))
このサイトを参考にしてください。
アプリでタイムスタンプを頻繁に使用しています。私にとって、タイムスタンプを保持する最良の方法は、ミリ秒単位で変換することです。その後、任意のロケールに簡単に変換できます。
現在の時刻が必要な場合は、System.currentTimeMillis() を使用します。コンテンツ値は使いやすく、次のようにフィールドと値を入力するだけです。
ContentValues ins_reminder = new ContentValues();
ins_reminder.put("REMIND_TIMESTAMP", System.currentTimeMillis());