确定日期是 GMT 还是 BST

问题描述 投票:0回答:2

我有很多日期(UTC 格式),例如

> dates <- as.POSIXct(c('2019-01-01', '2019-07-01', '2019-08-01'), tz = 'UTC')
> dates
[1] "2019-01-01 UTC" "2019-07-01 UTC" "2019-08-01 UTC"

我想知道向量中的每个日期是在 GMT 还是 BST 期间。

所以上面会给出

"GMT" "BST" "BST"
r timezone
2个回答
0
投票

可能不是最好的方法,但得到了我想要的东西

library(lubridate)
ifelse(hour(force_tz(as.POSIXct(as.Date(dates)), tz = 'Europe/London')) == 1, 'BST', 'GMT')

0
投票

从此链接导入日期... https://greenwichmeantime.com/uk/time/british-summer-time/dates/

提取所有以19或20开头的记录 合并两个过滤器... 选择 DT=(Col1+" "+Col2), BST="1" 和 选择 DT=(Col1+" "+Col3), BST="0"

将所有日期转换为 yyyy-mm-ddT01:00:00Z 这是您用于未来日期匹配的 BST 搜索数据

然后您可以使用匹配公式 基于所需的日期(以相同的格式!) 返回 BST 标志 日期早于正在搜索的日期 🙂

希望这有帮助

© www.soinside.com 2019 - 2024. All rights reserved.