You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取2019年全球各时区UTC与本地时间的偏移量?

解决方案

你的代码核心问题是每次循环都会覆盖temp变量,最终仅保留最后一个时区的偏移数据,且初始未定义temp会触发报错。以下是修正后的实现方式:

1. 获取单个日期的全球时区偏移量

library(lutz)

# 获取所有标准Olson时区
time_zones <- OlsonNames()

# 初始化空数据框存储结果
temp <- data.frame()

# 循环遍历每个时区,逐步合并结果
for (tz in time_zones) {
  offset_result <- tz_offset("2019-01-01", tz = tz)
  temp <- rbind(temp, offset_result)
}

# 查看前几行结果
head(temp)

2. 扩展到2019年全年日期

如果需要覆盖全年所有日期,可以先生成完整日期序列,再用更高效的方法批量处理:

library(lutz)
library(dplyr)

# 生成2019年所有日期
dates_seq <- seq(as.Date("2019-01-01"), as.Date("2019-12-31"), by = "day")

# 批量处理每个日期的时区偏移,合并结果
all_offsets <- lapply(dates_seq, function(date) {
  tz_offset(date, tz = OlsonNames())
}) %>% bind_rows()

# 查看结果结构
str(all_offsets)

关键说明

  • 用lapply+bind_rows替代循环rbind,处理大量数据时效率更高
  • tz_offset返回的结果包含tz(时区名称)、utc_offset(UTC偏移小时数)、dst(是否处于夏令时)等字段,自动适配夏令时切换的时区变化
  • Olson时区列表包含全球所有标准时区,无需额外筛选

内容的提问来源于stack exchange,提问作者Neicooo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 05:30:50