来自 posixct 的当地日

Local Day from posixct

我一直在处理夏威夷工作场所记录的一些数据,使用的是 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"