R 日期转换

R 日期转换,r,format,posixct,date-conversion,R,Format,Posixct,Date Conversion,我有一个格式为%e-%a-%y的日期示例:2015年3月13日 我需要将此日期转换为格式%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是缩写的一天。 错误是我试图在没有正确源格式的情况下进

我有一个格式为%e-%a-%y的日期示例:2015年3月13日

我需要将此日期转换为格式%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。有关日期格式的更多信息,请阅读?strtime。

另一个选项是lubridate,它可以轻松转换为POSIXct类

数据
张贴答案并不是唯一的帮助方式。编辑格式错误的问题也很重要。特别是对未来的读者。
library(lubridate)
dmy(v1)
#[1] "2015-03-13 UTC"
v1 <-  "13-Mar-15"