对日期时间加减时间跨度
时间跨度的常见用法是把它们加到或减去某个时刻。例如,要从 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() - ___