我一直在使用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()
,那么最好的解决方案就是效果很好,特别是因为Dates在ggplot
图表上看起来也很好看?
答案 0 :(得分:2)
as.Date
有一个tz
选项,你试过吗?
as.Date(example_time)
## [1] "2014-08-01"
as.Date(example_time, tz='Pacific/Honolulu')
## [1] "2014-07-31"