将时间戳转换为日期时间,然后对其进行格式化:
SELECT strftime('%d - %m - %Y ', datetime(1281353727, 'unixepoch', 'localtime')) FROM Visits;
抓到 1
确保添加localtime
参数。否则,您将获得居住在“格林威治”的人们所感知的日期(因为时间戳从 1/1/1970 00:00 UTC (=GMT) 开始计算)。
请参阅下面的日期输出如何根据我们是否在具有 EEST 时区的工作站上使用“本地时间”而变化。
select strftime('%d - %m - %Y ', datetime(1623707777, 'unixepoch', 'localtime'))
输出:15 - 06 - 2021
select strftime('%d - %m - %Y ', datetime(1623707777, 'unixepoch'))
输出:14 - 06 - 2021
这是因为在东部标准时间 00:01,格林威治标准时间仍然在昨天。
抓到 2
许多程序(例如 ViberPC)也将毫秒(甚至纳秒)添加到时间戳,在这种情况下,您需要先除以 1000(或分别除以 1000000):
select strftime('%d - %m - %Y ', datetime(1623707777421/1000, 'unixepoch', 'localtime'))