web-dev-qa-db-ja.com

SQLiteでミリ秒を日付に変換する方法

Calendar.getTimeInMilliseconds()の日付をSQLite DBに保存します。 SELECTステートメントで毎月最初の行をマークする必要があるので、SQLite関数のみを使用して、ミリ秒単位の時間を任意の日付形式に変換する必要があります。どうすればこれを回避できますか?

20

SQLiteでサポートされている日付/時刻形式 の1つはUnixタイムスタンプ、つまり1970年からの秒数です。ミリ秒をそれに変換するには、1000で割ります。

次に、いくつかの date/time function を使用して年と月を取得します。

SELECT strftime('%Y-%m', MillisField / 1000, 'unixepoch') FROM MyTable
49
CL.

日時は、ミリ秒単位で渡されている間の秒数であるエポックタイムを予期します。秒に変換して適用します。

SELECT datetime(1346142933585/1000, 'unixepoch');

このフィドルからこれを確認できます

http://sqlfiddle.com/#!5/d41d8/22

22
Mit Bhatt

ミリ秒を日付に変換することや、ミリ秒を日付に変換する関数を回避する必要がありますか? sqlite日付関数は秒で機能するため、次のことを試すことができます

  • このように、クエリのミリ秒を変換します
    select date(milliscolumn/1000,'unixepoch','localtime') from table1
  • ミリ秒を秒に変換してからdbに保存し、SQLクエリで日付関数を使用する
16
bsvtag