无法转换' d / m / y h:m''格式化为CST时间格式

时间:2016-12-26 05:12:39

标签: r datetime time timezone

我想将一些字符值转换为时间格式。 首先我试过了:

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"

1 个答案:

答案 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"