我有以下字符串描述中欧夏令时间的日期和时间:“2021-09-23 12:00:00”。事实上,我有一整列这样的时间点。由于某些原因,我必须使用“lubridate”包中的函数来处理这些时间。使用 'as_datetime' 我得到
t0 = "2021-09-23 12:00:00"
t1 = as_datetime(t0); t1
## [1] "2021-09-23 12:00:00 UTC"
Run Code Online (Sandbox Code Playgroud)
也就是说,as_datetime使用给定的小时和分钟并添加通用时间“UTC”作为时区。提供时区 CEST 代替
t1 = as_datetime(t0, tz = "CEST"); t1
## [1] "2021-09-23 10:00:00 CEST"
Run Code Online (Sandbox Code Playgroud)
也就是说,改变时间,这是我不想要的。
我想要得到的(我真正需要的)是“2021-09-23 12:00:00 CEST”,即更改时区而不更改时间。
我尝试force_tz过with_tz,但这也不起作用。
我还想知道为什么 'lubridate' 将 12:00:00 UST 转换为 10:00:00 CEST,因为 CEST 与 GMT+2 相同,而 UTC 是 GMT+0,所以结果实际上应该是相反的大约。
谢谢你的帮助。
尝试:
t0 = "2021-09-23 12:00:00"
library(lubridate)
#1
t1 = as_datetime(t0, tz = "Europe/Berlin")
[1] "2021-09-23 12:00:00 CEST"
or
#2
t1 = as_datetime(t0, tz = "CST6CDT")
[1] "2021-09-23 12:00:00 CDT"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
833 次 |
| 最近记录: |