How to convert milliseconds to date in SQLite

后端 未结 3 1740
一整个雨季
一整个雨季 2020-12-01 12:32

I store date from Calendar.getTimeInMilliseconds() in SQLite DB. I need to mark first rows by every month in SELECT statement, so I need convert time in milliseconds into an

相关标签:
3条回答
  • 2020-12-01 13:05

    Datetime expects epochtime, which is in number of seconds while you are passing in milliseconds. Convert to seconds & apply.

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

    Can verify this from this fiddle

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

    0 讨论(0)
  • 2020-12-01 13:11

    One of SQLite's supported date/time formats is Unix timestamps, i.e., seconds since 1970. To convert milliseconds to that, just divide by 1000.

    Then use some date/time function to get the year and the month:

    SELECT strftime('%Y-%m', MillisField / 1000, 'unixepoch') FROM MyTable
    
    0 讨论(0)
  • 2020-12-01 13:12

    Do you need to avoid milliseconds to date conversion or function to convert milliseconds to date? Since sqlite date functions work with seconds, then you can try to

    • convert milliseconds in your query, like this
      select date(milliscolumn/1000,'unixepoch','localtime') from table1
    • convert millis to seconds before saving it to db, and then use date function in sql query
    0 讨论(0)
提交回复
热议问题