1
と矛盾する行動はここで何が起こっているか今lubridate:タイムゾーン
library(lubridate)
library(tidyverse)
> hour(ymd_hms('2008-01-04 00:00:00'))
[1] 0
、
dataframe <- data_frame(time = c(ymd_hms('2008-01-04 00:00:00'),
ymd_hms('2008-01-04 00:01:00'),
ymd_hms('2008-01-04 00:02:00'),
ymd_hms('2008-01-04 00:03:00')),
value = c(1,2,3,4))
mutate(dataframe,hour = strftime(time, format="%H:%M:%S"),
hour2 = hour(time))
# A tibble: 4 × 4
time value hour hour2
<dttm> <dbl> <chr> <int>
1 2008-01-03 19:00:00 1 19:00:00 19
2 2008-01-03 19:01:00 2 19:01:00 19
3 2008-01-03 19:02:00 3 19:02:00 19
4 2008-01-03 19:03:00 4 19:03:00 19
次の例を考えてみましょうか?なぜ私はイベントを知っていないいくつかの現地時間に変換されているのですか?
はい、 'strftime'はあなたの現在のタイムゾーンを使用します。代わりに 'strftime(time、format ="%H:%M:%S "、tz =" UTC ")'を使用してください。 – konvas
ありがとうが、謎のまま残っているのはなぜ 'lubridate:hour'がローカルタイムゾーンを使用するのかということです。最初の例では' –