在 datetime 上加減時間跨度
時間跨度常見的用途,是把它們加到或減去某個時間點。例如,要從先前練習中的 mar_11 計算未來一天的時間,你可以這樣做:
mar_11 + days(1)
mar_11 + ddays(1)
在主控台試試看,你會得到不同的結果!但哪一個才是正確的?這取決於你的目的。如果你想考量時間單位(此例為天)可能有不同長度(例如夏令時間切換),就使用 period days()。如果你想要精準地往未來 86400 秒,則使用 duration ddays()。
在這個練習中,你會對日期與 datetime 加上或減去時間跨度。
本練習屬於課程
在 R 中處理日期與時間
練習說明
- 現在是 2018 年 8 月 27 日(星期一)下午 2 點,你想在下週同一時間提醒自己寄一封 email。對
mon_2pm加上一個為期一週的 period。 - 現在是 2018 年 8 月 28 日(星期二)上午 9 點,你要開始執行一段通常需要約 81 小時的程式碼。什麼時候會結束?對
tue_9am加上一個 81 小時的 duration。 - 五年前你在做什麼?從
today()減去一個 5 年的 period。 - 從
today()減去一個 5 年的 duration。*這會得到不同的日期嗎?*
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# 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() - ___