【发布时间】:2016-03-19 11:33:28
【问题描述】:
我试图找出两个时间戳之间的时间差,比如开始时间和结束时间。但邮票采用字符串格式:2016 年 3 月 7 日 01:00:03 PM。有人可以帮助如何将其转换为数字并找到时差吗?谢谢
【问题讨论】:
-
你尝试了什么?为什么它不起作用?请考虑阅读How to Ask 以及如何生成reproducible example。
我试图找出两个时间戳之间的时间差,比如开始时间和结束时间。但邮票采用字符串格式:2016 年 3 月 7 日 01:00:03 PM。有人可以帮助如何将其转换为数字并找到时差吗?谢谢
【问题讨论】:
lubridate 是您最好的新朋友,因此请立即下载以了解她。
install.packages('lubridate')
library(lubridate)
根据您的示例,使用 dmy_hms()
a <- dmy_hms('07 Mar 2016 01:00:03 PM')
# "2016-03-07 13:00:03 UTC"
b <- dmy_hms('08 Mar 2016 01:00:03 PM')
# "2016-03-08 13:00:03 UTC"
然后一个简单的减法可以得到日期差异。
b - a
# Time difference of 1 days
或者您也可以使用 as.numeric() 稍后使用此数字进行计算。
as.numeric(b - a)
# 1
【讨论】: