Calendar.getTimeInMilliseconds()の日付をSQLite DBに保存します。 SELECTステートメントで毎月最初の行をマークする必要があるので、SQLite関数のみを使用して、ミリ秒単位の時間を任意の日付形式に変換する必要があります。どうすればこれを回避できますか?
SQLiteでサポートされている日付/時刻形式 の1つはUnixタイムスタンプ、つまり1970年からの秒数です。ミリ秒をそれに変換するには、1000で割ります。
次に、いくつかの date/time function を使用して年と月を取得します。
SELECT strftime('%Y-%m', MillisField / 1000, 'unixepoch') FROM MyTable
日時は、ミリ秒単位で渡されている間の秒数であるエポックタイムを予期します。秒に変換して適用します。
SELECT datetime(1346142933585/1000, 'unixepoch');
このフィドルからこれを確認できます
ミリ秒を日付に変換することや、ミリ秒を日付に変換する関数を回避する必要がありますか? sqlite日付関数は秒で機能するため、次のことを試すことができます
select date(milliscolumn/1000,'unixepoch','localtime') from table1