我想将一些字符值转换为时间格式。 首先我试过了:
as.POSIXct('1/1/2010 04:00','%m/%d/%Y %H:%m','CST6CDT')
它返回NA
。
然后我试了一下:
library(lubridate)
with_tz(as.POSIXct('1/1/2010 04:00','%m/%d/%Y %H:%m'),'CST6CDT')
它返回了错误的值:
"0001-01-19 18:00:00 CST"
为什么会发生这种情况以及如何获得正确的值:"2010-01-01 04:00:00 CST"
?
答案 0 :(得分:1)
使用lubridate
,如果我们使用dmy_hm
方式
library(lubridate)
dmy_hm('1/1/2010 04:00', tz = 'CST6CDT')
#[1] "2010-01-01 04:00:00 CST"
此外,对于as.POSIXct
,分钟格式存在拼写错误。它应该是%M
as.POSIXct('1/1/2010 04:00', format = '%m/%d/%Y %H:%M',tz = 'CST6CDT')
#[1] "2010-01-01 04:00:00 CST"