如何从字符串转换日期?

时间:2015-07-21 11:49:18

标签: r date

我已搜索过,但我无法找到如何从字符串转换日期格式如下:

date <- "07-21-2015-09:30AM"

我想使用as.Date,但我还没有成功。我得到的是以下内容:

as.Date(date, format="%m-%d-%y-%hAM")
NA

as.Date(dates, format="%m-%d-%y-%h")
NA

3 个答案:

答案 0 :(得分:6)

如果我们需要&#39; date&#39;和&#39;时间&#39;,一个选项是as.POSIXct

 as.POSIXct(date, format='%m-%d-%Y-%I:%M%p')
 #[1] "2015-07-21 09:30:00 EDT"

答案 1 :(得分:2)

你也可以像这样使用lubridate包:

library('lubridate')
date <- "07-21-2015-09:30AM"
mdy_hm(date)
# "2015-07-21 09:30:00 UTC"

答案 2 :(得分:1)

我喜欢strptime

strptime(date, format="%m-%d-%Y-%R%p")
#[1] "2015-07-21 09:30:00 EDT"

如果您需要以与输入格式相同的格式查看日期,则可以调用相关的strftime。它不会改变变量的内部存储,而只会改变格式。

strftime(xx, format="%m-%d-%Y-%R%p")
#[1] "07-21-2015-09:30AM"