R,日内数据,将日期时间转换为不同的时区
R, intraday data, convert datetime to a different timezone
我有一个包含日内数据的数据集,其中三个重要变量是国家/地区、日期时间和价格。
例如:
瑞典,2019-12-23 09:08:00,105.31
这个数据是从彭博社下载的,貌似用的是我的当地时间(丹麦)。例如,对于澳大利亚,我有一个从 23 00 开始的市场,除非是欧洲时间,否则这没有意义。我想将数据中的时间转换为该特定国家/地区的当地时间。当然,我可以增加或减少一些时间,但时差不是固定的:有些国家/地区有 summer/winter 时间,而其他国家/地区则没有,而有 summer/winter 时间的国家/地区可能会在不同的时间发生变化天(例如,我认为美国和欧洲的时间变化之间大约有一周的时间)。您对如何将我的数据集转换为当地时区有什么建议吗?因此,如果它显示“2019-12-23 09:08:00”,那么我想知道在那个特定国家/地区,早上是 09:08(而不是在我的国家/地区)。我真的希望有一个智能的 R 功能。
提前致谢!
您可以使用 lubridate::force_tz
和 lubridate::with_tz
:
dat <- as.POSIXct("2021-05-01 12:00:00",tz = "UTC")
lubridate::force_tz(dat,tz="CET")
#> [1] "2021-05-01 12:00:00 CEST"
lubridate::with_tz(lubridate::force_tz(dat,tz="UTC"))
#> [1] "2021-05-01 14:00:00 CEST"
我有一个包含日内数据的数据集,其中三个重要变量是国家/地区、日期时间和价格。
例如: 瑞典,2019-12-23 09:08:00,105.31
这个数据是从彭博社下载的,貌似用的是我的当地时间(丹麦)。例如,对于澳大利亚,我有一个从 23 00 开始的市场,除非是欧洲时间,否则这没有意义。我想将数据中的时间转换为该特定国家/地区的当地时间。当然,我可以增加或减少一些时间,但时差不是固定的:有些国家/地区有 summer/winter 时间,而其他国家/地区则没有,而有 summer/winter 时间的国家/地区可能会在不同的时间发生变化天(例如,我认为美国和欧洲的时间变化之间大约有一周的时间)。您对如何将我的数据集转换为当地时区有什么建议吗?因此,如果它显示“2019-12-23 09:08:00”,那么我想知道在那个特定国家/地区,早上是 09:08(而不是在我的国家/地区)。我真的希望有一个智能的 R 功能。
提前致谢!
您可以使用 lubridate::force_tz
和 lubridate::with_tz
:
dat <- as.POSIXct("2021-05-01 12:00:00",tz = "UTC")
lubridate::force_tz(dat,tz="CET")
#> [1] "2021-05-01 12:00:00 CEST"
lubridate::with_tz(lubridate::force_tz(dat,tz="UTC"))
#> [1] "2021-05-01 14:00:00 CEST"