を考えると、2つの日付/時刻:計算日付/時間差、Yを返す:M:DH:M:S
dt_1 <- lubridate::ymd_hms("2016:08:26 11:29:07")
dt_2 <- lubridate::ymd_hms("2016:07:29 09:29:00")
がどのように私は1つから他への差を計算し、出力として返すん:
dt_1 - dt_2
戻り値:
> "0:0:28 2:0:7" # 28 days, 2 hours, and 7 seconds difference
のlubridateアプローチを用いて
> Time difference of 28.08341 days
この出力をy:m:d h:m:s形式にするにはどうすればよいですか?私は検索しましたが運がありません!
ありがとうございます。
UPDATE!
@Sotosによって以下に説明されている解決策が現れ、私はうまくいきません。コードを使用:
dt_1 <- lubridate::ymd_hms("2001:1:1 2:0:0")
dt_2 <- lubridate::ymd_hms("2004:1:1 1:0:0")
paste(
paste(
year(as.period(int_diff(c(dt_2, dt_1)))),
month(as.period(int_diff(c(dt_2, dt_1)))),
day(as.period(int_diff(c(dt_2, dt_1)))),
sep = ":"),
paste(
hour(as.period(int_diff(c(dt_2, dt_1)))),
minute(as.period(int_diff(c(dt_2, dt_1)))),
second(as.period(int_diff(c(dt_2, dt_1)))),
sep = ":"),
sep = " ")
Rは負の日を返します。 "3:0:-1 23:0:0"
私の人生にとって、なぜこれが起こっているのか、それを回避する方法はできません。正解は「2:11:30 23:0:0」(または2年11ヶ月30日23時間0秒0)にする必要があります。
アドバイスはありますか?
ああ、よく恥ずかしいほど簡単でした。ありがとう! – Ross