R日期转换

R date conversion

我有一个格式为 "%e-%a-%y" 的日期示例:"13-Mar-15"

我需要将此日期转换为 "%Y-%m-%d"

格式

我试过格式(例如,"%Y-%m-%d")但没有成功。 也试过

format(as.POSIXct(example, format="%e-%a-%y"), format="%Y-%m-%d")

没有成功。

编辑:我知道发生了什么我的格式有误:“%e-%a-%y”。
它需要是“%d-%b-%y” 已经很晚了,当我写下我的初始格式时,所以我没有想得很清楚:“%a”是缩写的一天。
错误是我试图在没有正确源格式的情况下进行转换。 "%b" 是缩写的月份,应该适用于这个问题。

你的格式有误:

as.Date("13-Mar-15", "%d-%b-%y")
[1] "2015-03-13"

对于格式,%d 是日期,%b 是缩写的月份,%y 是年份(两位数)

%a 是缩写的工作日名称。您也可以使用

as.Date("13-Mar-15", "%e-%b-%y")
[1] "2015-03-13"

因为%e也是日期(格式1-31)其中%d是01-31。阅读 ?strptime 了解有关日期格式的更多信息。

另一个选项是lubridate,这里很容易转换成POSIXctclass。

library(lubridate)
dmy(v1)
#[1] "2015-03-13 UTC"

数据

v1 <-  "13-Mar-15"