日時への時間スパンの加算・減算
時間スパンのよくある使い方は、ある時点に対してそれを足したり引いたりすることです。たとえば、mar_11(前の演習で使ったもの)から見て1日後の時刻を求めるには、次のいずれかを使えます。
mar_11 + days(1)
mar_11 + ddays(1)
コンソールで試すと、結果が異なります。では、どちらが正しいのでしょうか?それは意図によります。時間単位(この場合は日)が一定ではない(サマータイムなどで長さが変わる)ことを考慮したいなら、period のdays()を使います。ぴったり86400秒後の時刻が欲しいなら、duration のddays()を使います。
この演習では、日付や日時に対して時間スパンの加算・減算を行います。
この演習はコースの一部です
Rで扱う日付と時刻
演習の手順
- 2018年8月27日(月)14:00です。ちょうど1週間後の同じ時刻にメールを送るリマインダーを設定したいとします。
mon_2pmに1週間のperiodを加えてください。 - 2018年8月28日(火)9:00に、通常約81時間かかるコードの実行を開始します。いつ終わるでしょうか?
tue_9amに81時間のdurationを加えてください。 - 5年前の自分は何をしていましたか?
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() - ___