42

フィールドの1つが日付用で、現在のインスタンスの日付と時刻が保存されるSQLiteでテーブルを作成したいと思います。どのデータ型を使用すればよいですか?

「タイムスタンプ」を使用する予定です。現在のタイムスタンプ値をフィールドに挿入する方法は? また、この日付フィールドのコンテンツ値を書き込む方法は?

4

5 に答える 5

72

SQLite は、標準の SQL 変数CURRENT_DATECURRENT_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()));
于 2013-03-18T09:45:00.127 に答える
26
INSERT INTO Date (LastModifiedTime) VALUES(DateTime('now'))

このサイトを参考にしてください。

于 2013-03-18T09:30:27.910 に答える
1

アプリでタイムスタンプを頻繁に使用しています。私にとって、タイムスタンプを保持する最良の方法は、ミリ秒単位で変換することです。その後、任意のロケールに簡単に変換できます。

現在の時刻が必要な場合は、System.currentTimeMillis() を使用します。コンテンツ値は使いやすく、次のようにフィールドと値を入力するだけです。

ContentValues ins_reminder = new ContentValues();
ins_reminder.put("REMIND_TIMESTAMP", System.currentTimeMillis());
于 2013-03-18T17:04:17.530 に答える