我有一个日期为字符的向量
x <- "2015-02-01 09:05:23"
我想将其转换为dateTime对象
x <- as.POSIXct(strptime(x, "%Y-%m-%d %H:%M:%S"), tz = "GMT")
然后&#34; T&#34;作为日期和时间之间的分隔符(参见XML Schema)以获得以下输出
"2015-02-01T09:05:23"
我如何获得&#34; T&#34;分隔成字符串?
答案 0 :(得分:5)
您可以使用format
函数来获取角色对象。
x <- "2015-02-01 09:05:23"
format(as.POSIXct(x, "GMT"), "%FT%T")
#[1] "2015-02-01T09:05:23"
答案 1 :(得分:1)
x <- "2015-02-01 09:05:23"
d <- as.POSIXct(strptime(x, "%Y-%m-%d %H:%M:%S"), tz = "GMT")
w <- substr(weekdays(d),1,1) # 1,1 selects the first letter of the day
y <- paste0(strsplit(as.character(d)," ")[[1]][1],w,strsplit(as.character(d)," ")[[1]][2])
y
[1] "2015-02-01S09:05:23"
如果你只想写一个T
:
paste0(strsplit(as.character(d)," ")[[1]][1],'T',strsplit(as.character(d)," ")[[1]][2])
[1] "2015-02-01T09:05:23"
答案 2 :(得分:1)
在这种情况下,您可以使用gsub
x <- "2015-02-01 09:05:23"
x <- as.POSIXct(strptime(x, "%Y-%m-%d %H:%M:%S"), tz = "GMT")
gsub(" ", "T", x)
#[1] "2015-02-01T09:05:23"
根据@Avinash Raj的评论仅使用sub
就足够了。
sub(" ", "T", x)
#[1] "2015-02-01T09:05:23"