R将以下格式转换为日期类

时间:2015-01-13 06:27:59

标签: r date format

我有一个数据框,包含两列date和Text。日期的格式有点典型,如Jan 09 05:44:30 +0000 2015。现在,我想将此日期转换为01/09/2015 05:44:30Jan/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

1 个答案:

答案 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函数创建其他格式的输出字符串。