我有一个数据框,包含两列date和Text。日期的格式有点典型,如Jan 09 05:44:30 +0000 2015
。现在,我想将此日期转换为01/09/2015 05:44:30
或Jan/09/2015 05:44:30
格式。我在单一日期做了一些努力,它工作得很好但在整个日期列上都失败了。请帮忙 。
我试过这样的方式:
p <- "Jan 09 05:44:30 +0000 2015"
p <- sub("Jan","01",p)
p1 <- strsplit(p," ")
p2 <- unlist(p1)
append(p2,p2[5], after=2)
我的数据框看起来像:
Text Date
"...some text ....." Jan 09 05:44:30 +0000 2015
"...some text ....." Jan 09 05:44:30 +0000 2015
"...some text ....." Jan 09 05:44:30 +0000 2015
"...some text ....." Jan 09 05:44:30 +0000 2015
我想要它:
Text Date
"...some text ....." 01/09/2015 05:44:30
"...some text ....." 01/09/2015 05:44:30
"...some text ....." 01/09/2015 05:44:30
"...some text ....." 01/09/2015 05:44:30
答案 0 :(得分:2)
研究help("strptime")
以了解如何创建format
字符串。
p <- "Jan 09 05:44:30 +0000 2015"
as.POSIXct(p, format="%b %d %H:%M:%S %z %Y", tz="GMT")
#[1] "2015-01-09 05:44:30 GMT"
这为您提供了一个日期时间对象(当然是矢量化的)。如果必须,可以根据需要使用format
函数创建其他格式的输出字符串。