R SQLDF 两个时间戳之间的天数差异?

R SQLDF difference between two timestamps in days?

我正在使用 SQLDF 包,我需要在其中获取转换为不同格式(例如秒和日期)的时间戳之间的差异。我在文档中找不到任何时间戳对象,尝试了这个建议 ,出现故障,所以

如何使用 R 中的 SQLDF 包计算时间戳之间的差异?

> sqldf("SELECT strftime('%Y-%m-%d %H:%M:%S', '2017-10-10 10:10:10')-  strftime('%Y-%m-%d %H:%M:%S', '2019-01-01 01:01:01') AS timestamp2")

timestamp2
1       -2


> sqldf("SELECT '2017-10-10 10:10:10'-'2019-01-01 01:01:01'")

'2017-10-10 10:10:10'-'2019-01-01 01:01:01'
1                                          -2

您的困惑可能与将 R 中存在的 strftime() 函数与 SQLite 中也存在的同名函数混淆有关。请记住,sqldf 包将 运行 查询字符串中的任何内容作为 SQLite 代码,如果您想要以秒为单位的差异,您应该使用:

SELECT
    strftime('%s', '2017-10-10 10:10:10') -
    strftime('%s', '2019-01-01 01:01:01');

这个returns-38674251,相当于第二个时间戳比第一个时间戳晚了大约1.25年。