深入研究 R 包:lubridate 中的时区
Digging into R package: Time Zones in lubridate
我开始使用 R 中的 lubridate 包。我注意到 now(tzone="EST")
计算为:
[1] "2015-08-25 13:01:08 EST"
而 now(tzone="PST")
导致警告:
[1] "2015-08-25 18:02:16 GMT"
Warning message:
In as.POSIXlt.POSIXct(x, tz) : unknown timezone 'PST'
那么已知时区是什么? 有答案。但我想看看如何自己回答这个问题(即,通过挖掘包本身)。我看now()
函数:
> now
function (tzone = "")
with_tz(Sys.time(), tzone)
<environment: namespace:lubridate>
然后我看with_tz
函数:
> with_tz
function (time, tzone = "")
{
check_tz(tzone)
if (is.POSIXlt(time))
new <- as.POSIXct(time)
else new <- time
attr(new, "tzone") <- tzone
reclass_date(new, time)
}
<environment: namespace:lubridate>
>
然后我检查 check_tz
函数:
> check_tz
Error: object 'check_tz' not found
没有。我在本地 lubridate
R 库文件中搜索 check_tz
。我没有找到任何东西。我执行 Google 搜索并找到 this GitHub page。在那里! olson_time_zones()
似乎列出了 已知的 时区。 (更新:olson_time_zones()
仅 returns 可用时区的一个子集。有关详细信息,请参阅下面我的评论。)特别是,
> now(tzone="America/Los_Angeles")
[1] "2015-08-25 11:11:14 PDT"
问:如果 Whosebug 上的 GitHub 或 post 上没有一个很好的文件,我怎么能回答我关于已知时区列表的问题答案?换句话说,我可以通过挖掘本地 lubridate
库文件找到我的答案吗?
问:是否有更通用的挖掘 R 包的原则值得指出?
您可以找到 lubridate
可用的时区列表:
lubridate::olson_time_zones()
通过键入可以轻松找到此信息
??timezones
在控制台中。
在我的案例中,描述此功能的 link 是帮助页面列表中的第二个条目:
另一种可能是在 lubridate
的 manual 中搜索 "available time zones"。
我开始使用 R 中的 lubridate 包。我注意到 now(tzone="EST")
计算为:
[1] "2015-08-25 13:01:08 EST"
而 now(tzone="PST")
导致警告:
[1] "2015-08-25 18:02:16 GMT"
Warning message:
In as.POSIXlt.POSIXct(x, tz) : unknown timezone 'PST'
那么已知时区是什么? now()
函数:
> now
function (tzone = "")
with_tz(Sys.time(), tzone)
<environment: namespace:lubridate>
然后我看with_tz
函数:
> with_tz
function (time, tzone = "")
{
check_tz(tzone)
if (is.POSIXlt(time))
new <- as.POSIXct(time)
else new <- time
attr(new, "tzone") <- tzone
reclass_date(new, time)
}
<environment: namespace:lubridate>
>
然后我检查 check_tz
函数:
> check_tz
Error: object 'check_tz' not found
没有。我在本地 lubridate
R 库文件中搜索 check_tz
。我没有找到任何东西。我执行 Google 搜索并找到 this GitHub page。在那里! olson_time_zones()
似乎列出了 已知的 时区。 (更新:olson_time_zones()
仅 returns 可用时区的一个子集。有关详细信息,请参阅下面我的评论。)特别是,
> now(tzone="America/Los_Angeles")
[1] "2015-08-25 11:11:14 PDT"
问:如果 Whosebug 上的 GitHub 或 post 上没有一个很好的文件,我怎么能回答我关于已知时区列表的问题答案?换句话说,我可以通过挖掘本地 lubridate
库文件找到我的答案吗?
问:是否有更通用的挖掘 R 包的原则值得指出?
您可以找到 lubridate
可用的时区列表:
lubridate::olson_time_zones()
通过键入可以轻松找到此信息
??timezones
在控制台中。 在我的案例中,描述此功能的 link 是帮助页面列表中的第二个条目:
另一种可能是在 lubridate
的 manual 中搜索 "available time zones"。