我一直在夏威夷的一个工作场所使用UTC时间而不是当地时间记录一些数据。因为夏威夷有一个很大的UTC偏移(UTC-10:00),这意味着UTC午夜将发生在办公日的中间,所以本地化我的日期很重要。
不幸的是,as.Date()
使用UTC日期,而不是夏威夷日期,就像这样:
example_time <- as.POSIXct("8/1/14 0:05", tz = "UTC", format = "%m/%d/%y %H:%M")
example_time
# [1] "2014-08-01 00:05:00 UTC"
attributes(example_time)$tzone <- "Pacific/Honolulu"
example_time
# [1] "2014-07-31 14:05:00 HST"
as.Date(example_time)
# [1] "2014-08-01"
weekdays(example_time)
# [1] "Thursday"
weekdays(as.Date("2014-08-01"))
# [1] "Friday"
如果我使用dplyr
来总结每天不同时间的一些观察结果,然后将这些总结绘制在图表上,我应该使用什么来代替这些日期对象?如果我能dplyr::group_by()
,那么最好的解决方案就是效果很好的解决方案,尤其是因为日期在ggplot
图上也很好看?
as.Date
有一个tz
选项,你尝试过吗?
as.Date(example_time)
## [1] "2014-08-01"
as.Date(example_time, tz='Pacific/Honolulu')
## [1] "2014-07-31"