如何在r中使用difftime计算时间差
您可以使用difftime()函数来计算 R 中两个日期或日期时间之间的时间差。
该函数使用以下基本语法:
difftime(time1, time2, units=" days ")
金子:
- time1, time2 :日期或日期时间
- units :用于时差的单位(默认为“天”,但其他选项包括“秒”、“分钟”、“小时”和“周”)
以下示例展示了如何在不同场景下使用difftime()函数。
示例1:使用difftime()计算各种单位的时间差
以下代码显示如何使用difftime()函数计算两个使用不同单位的日期/时间之间的时间差:
#define two datetimes
first <- "2022-08-20 08:15:22"
second <- "2022-01-01 20:04:48"
#calculate time difference in days
difftime(first, second)
Time difference of 230.5073 days
#calculate time difference in seconds
difftime(first, second, units=" secs ")
Time difference of 19915834 secs
#calculate time difference in minutes
difftime(first, second, units=" mins ")
Time difference of 331930.6 mins
#calculate time difference in hours
difftime(first, second, units=" hours ")
Time difference of 5532.176 hours
#calculate time difference in weeks
difftime(first, second, units=" weeks ")
Time difference of 32.92962 weeks
使用单位参数,我们可以计算不同单位的两个日期和时间之间的时间差。
示例2:计算HH:MM:SS格式的时差
我们还可以使用hms库的as_hms()函数来计算两个日期/时间之间的时间差,格式为 HH:MM:SS。
library (hms)
#define two datetimes
first <- "2022-01-01 20:15:22"
second <- "2022-01-01 08:04:48"
#calculate difference between datetimes in hours, minutes, seconds
as_hms(difftime(first, second))
12:10:34
输出显示两个日期和时间之间的时差,格式为小时、分钟和秒。
在此场景中,两个时间之间的差异为12小时10分钟34秒。
其他资源
以下教程解释了如何在 R 中执行其他常见任务:
如何在 R 中将 UNIX 时间戳转换为日期
如何在R中将字符转换为时间戳
如何从R中的日期中提取年份
如何在 R 中按日期对数据框进行排序