很久以前,另一位用户写道,他正在创建一个库,直接从The Hit List中读取数据
https://groups.google.com/d/msg/the-hit-list-users/arCPzjHaZeg/J6eatDiJWB4J
看起来他没有放过任何东西。
我正在考虑直接阅读THL的库,与geektool脚本一起使用,以避免Applecript的开销总是不得不在THL中读取数据。
我已经完成了部分工作,找到了尚未完成的任务
SELECT * FROM ZTASK where ZCOMPLETEDDATE is NULL ;
但是当我尝试将其限制为仅现在为DUE的任务时,我感到困惑。如果我查看任务模式,我看到ZDUEDATE是一个时间戳
sqlite> .schema ztask
创建表ZTASK(Z_PK INTEGER PRIMARY KEY,Z_ENT INTEGER,Z_OPT INTEGER,ZARCHIVED INTEGER,ZPRIORITY INTEGER,ZNOTES INTEGER,ZPARENTLIST INTEGER,ZPARENTTASK INTEGER,ZRECURRENCE INTEGER,ZACTUALTIME FLOAT,ZCOMPLETEDDATE TIMESTAMP,ZCREATEDDATE TIMESTAMP,ZDISPLAYORDER FLOAT,ZDUEDATE TIMESTAMP ,ZESTIMATEDTIME FLOAT,ZMODIFIEDDATE TIMESTAMP,ZSTARTDATE TIMESTAMP,ZCALENDARSTOREUID VARCHAR,ZNOTESUID VARCHAR,ZSTATUS VARCHAR,ZTITLE VARCHAR,ZUID VARCHAR,ZLOCALINFODICTIONARY BLOB);
虽然当我尝试查询时,我似乎无法弄清楚它是什么样的时间戳。它似乎不是unixtime或juliantime。
例如
sqlite> SELECT * FROM ZTASK where ZCOMPLETEDDATE is NULL ;
...
ZDUEDATE = 363422378
...
从Hit List的UI显示2012-07-07的截止日期但似乎不匹配
Unix time: 1341619200
Julian time: 2456115.5
还有其他建议吗?
答案 0 :(得分:2)
这是格林尼治标准时间2001年1月1日以来的秒数。我自己没有选择这个值,这是Core Data和Cocoa保存日期的方式。
例如,您问题中363422378的值大约为11。5年:
363422378秒/ 60/60/24/365 = 11.524048009
答案 1 :(得分:0)
这看起来像OS X绝对参考日期以来的秒数:
提供常量NSTimeIntervalSince1970
, [t]从1970年1月1日到参考日期2001年1月1日的秒数。它的值为{{ 1}}。