NA不适用1个特定日期,将日期从“字符”格式转换为带有as.POSIXct的“ POSIXct”

问题描述 投票:0回答:1

我正在使用as.POSIXct()将字符串向量转换为日期格式。这是奇怪的事情:

as.POSIXct("2017-03-26 03:00:00.000",format="%Y-%m-%d %H")

#Gives

"2017-03-26 03:00:00 CEST"

#While

as.POSIXct("2017-03-26 02:00:00.000",format="%Y-%m-%d %H")

#Outputs
NA

这确实令人困惑和沮丧。似乎该函数确实不喜欢特定时间:02:00:00.000

r posixct
1个回答
1
投票

我们可以指定时间%T。在格式中,有分钟,秒和毫秒。因此,%H仅匹配小时部分

as.POSIXct("2017-03-26 02:00:00.000",format="%Y-%m-%d %T")
[1] "2017-03-26 02:00:00 EDT"

或者也要注意毫秒

as.POSIXct("2017-03-26 02:00:00.000",format="%Y-%m-%d %H:%M:%OS")
#[1] "2017-03-26 02:00:00 EDT"

或使用lubridate

library(lubridate)
ymd_hms("2017-03-26 02:00:00.000")
© www.soinside.com 2019 - 2024. All rights reserved.