📅  最后修改于: 2023-12-03 15:38:24.750000             🧑  作者: Mango
在 R 中,使用日期和时间的常见格式是“POSIXct”和“POSIXlt”。这些格式为我们提供了相对于“epoch”的秒数,其中“epoch”是1970年1月1日00:00:00 UTC。在计算时间差时,我们可以使用这些秒数作为基础,然后将它们相减。
我们将使用以下示例数据来演示如何在 R 中减去时间:
start_time <- as.POSIXct("2021-10-01 12:00:00", tz = "UTC")
end_time <- as.POSIXct("2021-10-02 14:30:00", tz = "UTC")
此数据包括开始时间和结束时间。
为了计算时间差,我们只需减去开始时间的秒数和结束时间的秒数。然后,我们可以将结果转换为有意义的单位,例如小时或天。
time_diff_seconds <- difftime(end_time, start_time, units = "secs")
time_diff_hours <- time_diff_seconds / 3600
time_diff_days <- time_diff_seconds / (24 * 3600)
print(time_diff_seconds)
# Time difference of 26.5 hours
print(time_diff_hours)
# Time difference of 26.5 hours
print(time_diff_days)
# Time difference of 1.104167 days
上面的代码片段演示了如何计算时间差。我们首先使用“difftime”函数计算开始时间和结束时间之间的差异,并将结果存储在“time_diff_seconds”变量中。然后,我们将此差异除以3600秒(一小时)和24 * 3600秒(一天),以获得差异的“hours”和“days”单位。
在 R 中,我们可以轻松地减去时间。首先,将时间转换为“POSIXct”或“POSIXlt”格式,然后计算这些时间之间的差异。最后,可以将时间差转换为有意义的单位,例如小时或日。