如何在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 中按日期对数据框进行排序

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注