我在SQLite DB中存储Calendar.getTimeInMilliseconds()中的日期。 我需要在SELECT语句中按月标记第一行,因此我需要使用SQLite函数将时间(以毫秒为单位)转换为任何日期格式。我怎么能避免这个?
答案 0 :(得分:44)
SQLite's supported date/time formats中的一个是Unix时间戳,即自1970年以来的秒数。 要将毫秒转换为该值,只需除以1000。
然后使用一些date/time function来获取年份和月份:
SELECT strftime('%Y-%m', MillisField / 1000, 'unixepoch') FROM MyTable
答案 1 :(得分:20)
Datetime期望epochtime,以毫秒为单位,以秒为单位。转换为秒和&应用
SELECT datetime(1346142933585/1000, 'unixepoch');
可以从这个小提琴中验证这个
答案 2 :(得分:16)
您是否需要避免毫秒到目前为止的转换或函数将毫秒转换为日期? 由于sqlite日期函数使用秒,因此您可以尝试
select date(milliscolumn/1000,'unixepoch','localtime') from table1