我的SQL语句是:
CREATE TABLE cal_events (
cal_id varchar(1000),
id varchar(1000),
time_created INTEGER,
last_modified INTEGER,
title varchar(1000),
priority INTEGER,
privacy varchar(1000),
ical_status varchar(1000),
flags INTEGER,
event_start INTEGER,
event_end INTEGER,
event_stamp INTEGER,
event_start_tz varchar(1000),
event_end_tz varchar(1000),
recurrence_id INTEGER,
recurrence_id_tz varchar(1000),
alarm_last_ack INTEGER, offline_journal INTEGER);
INSERT INTO cal_events VALUES('03278cd9-7f6a-40ab-8629-c1c3c28b97ec','59b57163-9614-47d2-8fdf-e84e784a4cd5',1316710084000000,1316710121000000,'Event Test 1',NULL,NULL,NULL,4,1317133800000000,1317135600000000,1316710121000000,'Europe/Berlin','Europe/Berlin',NULL,NULL,NULL,NULL);
我会将event_start
和event_end
提取到正确的时间。
但这不是PHP Unix时间戳。
有人有任何想法吗?
答案 0 :(得分:0)
挖掘Lightning source code显示以微秒为单位存储的时间戳。要将微秒转换为秒(即Unix时间戳),您需要除以100万:
select datetime(event_start/1000000, 'unixepoch') from cal_events
来自the documentation的unixepoch
修饰符的解释:
这个修饰符导致DDDDDDDDD不像通常那样被解释为朱利安日数,而是解释为Unix时间 - 自1970年以来的秒数。
SQLite datetime
函数以%Y-%m-%d %H:%M:%S
格式返回,例如2016-10-16 16:43:01
。别忘了检查时区字段!