开始使用免费开始使用

对日期时间加减时间跨度

时间跨度的常见用法是把它们加到或减去某个时刻。例如,要从 mar_11(上一练习中的变量)计算未来一天的时间,您可以这样做:

mar_11 + days(1)
mar_11 + ddays(1)

在控制台试一试,您会得到不同的结果!但哪个才是"正确"的呢?取决于您的意图。如果您希望考虑时间单位(此处为"天")长度并不固定这一事实(例如夏令时造成的变化),就使用期间 days()。如果您想得到精确向后 86400 秒的时间,就使用持续时间 ddays()

在本练习中,您将对日期和日期时间加减时间跨度。

本练习是课程的一部分

在 R 中处理日期和时间

查看课程

练习说明

  • 现在是 2018 年 8 月 27 日(周一)下午 2 点,您想在下周同一时间提醒自己发一封邮件。给 mon_2pm 加上 1 周的期间。
  • 现在是 2018 年 8 月 28 日(周二)上午 9 点,您要启动一段通常需要大约 81 小时运行的代码。它何时结束?给 tue_9am 加上 81 小时的持续时间。
  • 5 年前的您在做什么?从 today() 减去 5 年的期间。
  • today() 减去 5 年的持续时间。这会得到不同的日期吗?

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Add a period of one week to mon_2pm
mon_2pm <- dmy_hm("27 Aug 2018 14:00")
mon_2pm + ___

# Add a duration of 81 hours to tue_9am
tue_9am <- dmy_hm("28 Aug 2018 9:00")
tue_9am + ___

# Subtract a period of five years from today()
today() - ___

# Subtract a duration of five years from today()
today() - ___
编辑并运行代码