如何解决R中的日光节约问题并获得正确的当地时间[给出的示例]?

如何解决R中的日光节约问题并获得正确的当地时间[给出的示例]?,r,lubridate,R,Lubridate,例如,英国伦敦遵循GMT和英国夏令时(BST)。我想从UTC时间戳中提取本地时间 有两种方法 1) 在某些时段使用GMT时区,休息时间使用BST时区 2) 在所有时段使用欧洲/伦敦时间,考虑到日光节约效应,将获得正确的时间 df<-data.frame(utc_timestamps=c("2019-01-23 14:05:23","2019-10-23 14:05:23"),time_zone1="Europe/London",time_zone2="Etc/GMT-1") df$utc_

例如,英国伦敦遵循GMT和英国夏令时(BST)。我想从UTC时间戳中提取本地时间

有两种方法

1) 在某些时段使用GMT时区,休息时间使用BST时区

2) 在所有时段使用欧洲/伦敦时间,考虑到日光节约效应,将获得正确的时间

df<-data.frame(utc_timestamps=c("2019-01-23 14:05:23","2019-10-23 14:05:23"),time_zone1="Europe/London",time_zone2="Etc/GMT-1")
df$utc_timestamps<-as.POSIXct(df$utc_timestamps,format="%Y-%m-%d %H:%M:%S")



df$local_time1<-format(df$utc_timestamps,usetz=TRUE, tz="Europe/London")
df$local_time2<-format(df$utc_timestamps,usetz=TRUE, tz="Etc/GMT-1")


utc_timestamps    time_zone1 time_zone2             local_time1             local_time2
2019-01-23 14:05:23 Europe/London  Etc/GMT-1 2019-01-23 14:05:23 GMT 2019-01-23 15:05:23 +01
2019-10-23 14:05:23 Europe/London  Etc/GMT-1 2019-10-23 15:05:23 BST 2019-10-23 15:05:23 +01

df您是否可以对“正确时间”所理解的内容进行更多的阐述?如果时间戳存储在UTC,您可以简单地将其重新编码到谢尔曼、华莱士、格里利和汉密尔顿县的美国山区时区,以及堪萨斯州其他县的美国中央时区。补充说明