我使用的是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');
这返回-38674251
,其对应于比第一时间戳晚约1.25年的第二时间戳。