gpt4 book ai didi

r - 检查时区在R中是否有效

转载 作者:行者123 更新时间:2023-12-04 14:14:20 25 4
gpt4 key购买 nike

我正在读取一个包含时间戳和时区规范的文件。我希望能够检测R是否识别此文件上的给定时区,并提供我自己的默认值,以防无法识别。

但是,如果给定的时区无效,则POSIXct似乎会悄无声息地退回到UTC,没有错误或警告我可以捕获并处理:

> as.POSIXct("1970-01-01", tz="blah")
[1] "1970-01-01 UTC"

在R中检查给定时区是否被识别的“正确”方法是什么?

最佳答案

help("time zones")详细解释了许多时区问题,非常值得阅读。

结果因您的操作系统而异,但是example("time zones")显示了如何在操作系统中读取zone.tab文件的情况。

tzfile <- "/usr/share/zoneinfo/zone.tab"
tzones <- read.delim(tzfile, row.names = NULL, header = FALSE,
col.names = c("country", "coords", "name", "comments"),
as.is = TRUE, fill = TRUE, comment.char = "#")
str(tzones$name)
#chr [1:415] "Europe/Andorra" "Asia/Dubai" "Asia/Kabul" "America/Antigua" "America/Anguilla" ...

NROW(tzones)
#[1] 415

head(tzones)
# country coords name comments
#1 AD +4230+00131 Europe/Andorra
#2 AE +2518+05518 Asia/Dubai
#3 AF +3431+06912 Asia/Kabul
#4 AG +1703-06148 America/Antigua
#5 AI +1812-06304 America/Anguilla
#6 AL +4120+01950 Europe/Tirane

关于r - 检查时区在R中是否有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17345516/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com