从日期时间开始解析时分秒

时间:2019-04-27 16:18:21

标签: r datetime

出于某种原因,我一直在努力做到这一点。我想从R中下面的字符串中解析小时,分钟和第二部分。

x <- "2019-04-27T06:40:04.000+05:30"
x<-gsub("[0-9]*-", "", x)
x<-gsub("[0-9]*T", "", x)
x<-unlist(strsplit(x, split="[.]"))[1]
x<-unlist(strsplit(x, split=":"))

没有办法说吗?

as.DateTime(x, "%H")

1 个答案:

答案 0 :(得分:1)

更好地按原样处理日期时间对象,而不是使用正则表达式提取信息。

x <- "2019-04-27T06:40:04.000+05:30" 
as.POSIXct(x, format = "%Y-%m-%dT%T")
#[1] "2019-04-27 06:40:04"

然后我们可以使用format提取所需的细节

format(as.POSIXct(x, format = "%Y-%m-%dT%T"), "%T")
#[1] "06:40:04"

format(as.POSIXct(x, format = "%Y-%m-%dT%T"), "%H")
#[1] "06"