R posixct的本地日

R posixct的本地日,r,datetime,timezone,posixct,R,Datetime,Timezone,Posixct,我一直在处理夏威夷工作场所记录的一些数据,使用UTC时间而不是当地时间。因为夏威夷有一个大的UTC偏移(UTC-1000),这意味着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 0

我一直在处理夏威夷工作场所记录的一些数据,使用UTC时间而不是当地时间。因为夏威夷有一个大的UTC偏移(UTC-1000),这意味着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"

example\u time
as.Date
有一个
tz
选项,你试过了吗

as.Date(example_time)
## [1] "2014-08-01"
as.Date(example_time, tz='Pacific/Honolulu')
## [1] "2014-07-31"

我不想检查日期是否有时区。有没有一种简单的方法可以在不手动指定时区的情况下实现这一点,或者没有什么比
as.Date(示例时间,tz=attributes(示例时间)$tzone)
更简单的方法了?您是否尝试过编写一个帮助函数来实现这一点?您知道,这可能是最好的方法。我很好奇,
POSIXct
Date
之间时区的不可移植性是否符合预期?对我来说似乎有点奇怪。将日期边界默认为GMT是有意义的。这样,无论您所在的时区如何,都不会对日期不明确。