web-dev-qa-db-ja.com

SQLiteデータベースに現在の日付と時刻を挿入する

フィールドの1つが日付用で、現在のインスタンスの日付と時刻を保存するテーブルをSQLiteで作成します。どのデータ型を使用する必要がありますか?

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

35
Jesbin MJ

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()));
57
CL.
INSERT INTO Date (LastModifiedTime) VALUES(DateTime('now'))

さらに参照するには、この site を使用します。

21
Premsuraj

現在のローカル(システム)時間を取得するには、 'localtime'オプションを追加します。

select datetime( 'now'、 'localtime');

4
David Garoutte

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

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

ContentValues ins_reminder = new ContentValues();
ins_reminder.put("REMIND_TIMESTAMP", System.currentTimeMillis());
1
Sergey Grabak