始める無料で始める

日時への時間スパンの加算・減算

時間スパンのよくある使い方は、ある時点に対してそれを足したり引いたりすることです。たとえば、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() - ___
コードを編集して実行