global-messages-db.sqlite 中 'date' 字段的格式是什么?



我是Thunderbird用户,我正在使用自包式的.sqlite文件( global-messages-db.sqlite (来开发一些SQL脚本,我正在尝试理解该数据库中的不同对象,并且有message表具有date列,但似乎并不是日期字符串,它显示了很多数字。

到目前为止,我有此查询:

SELECT a.c1subject AS "SUBJECT",
       a.c3author AS "FROM",
       a.c4recipients AS "TO",
       b.date,
       c.folderURI AS "FOLDER_LOCATION",
       c.name AS "FOLDER_NAME"       
    FROM messagesText_content a
    INNER JOIN messages b ON a.docid=b.id
    INNER JOIN folderLocations c ON b.folderID=c.id
    WHERE a.c1subject LIKE ('Chunk of text%');

这是查询的日期结果:

1547902246000000

1547823370000000

1547651729000000

这可能是什么意思?这可能是因为某种配置吗?如何将此字符串转换为人类可读日期?

注意:我还直接从命令行使用了sqllite3命令来检查此行,并且我的结果相同。

任何建议将不胜感激,谢谢。

更新:为了将时期格式转换为人类可读日期,我在SQLITE数据库上使用了此查询,并使用STRFTIME函数:

 SELECT a.c1subject AS "SUBJECT", STRFTIME('%d/%m/%Y %H:%M:%S',DATETIME(SUBSTR(b.date,1,10)-18000, 'unixepoch')) AS "DATE"
 FROM messagesText_content a, messages b, folderLocations c 
 WHERE STRFTIME('%d/%m/%Y',DATETIME(SUBSTR(b.date,1,10), 'unixepoch')) > 'DD/MM/YYYY' 
 AND a.docid=b.id 
 AND b.folderID=c.id 
 AND a.c1subject = ('YOUR_TEXT)') 
 ORDER BY b.date DESC;

由于特定的服务器配置,-18000参数用于提取5小时。希望这会有所帮助!

日期以来可能以秒数为单位。应该有许多网站可以帮助您转换它。例如,您可以尝试此网站转换您的日期:

https://www.epochconverter.com/

最新更新