如何通过 posixct 将 09-Oct-2017 之类的日期转换为 09-11-2017?

how to convert date like 09-Oct-2017 to 09-11-2017 by posixct?

我有以下数据集

我想使用 Posixct

将这些行转换为日期数据类型

现在我正在使用

as.POSIXct(q3_dos_log$INSERTED_ON   , format=c("%d-%mm-%Y"))

但是输出错误,请解决。

lubridate 库是你的朋友,它可以自动解析多种类型的日期(如果没有,你可以指定数据的格式,以帮助包找出它)。

library(lubridate)
x = "28-Sep-2017"
as.POSIXct(parse_date_time(x, "dmy"))

这里lubridate我觉得真的没必要;只需使用基数 R 的 as.POSIXct:

as.POSIXct("09-Oct-2017", format = "%d-%b-%Y")
#[1] "2017-10-09 AEDT"

重新格式化为 "09-10-2017" 字符串:

format(as.POSIXct("09-Oct-2017", format = "%d-%b-%Y"), format = "%d-%m-%Y")
# [1] "09-10-2017"

我们可以使用 anytime 中的 anydate 来自动获取格式

anytime::anydate("09-Oct-2017")
#[1] "2017-10-09"

您只需要 as.Date Base R 和日期格式选项的知识:

as.Date("07-May-2017", format = "%d-%B-%Y")

在此处查看更多内容:https://www.google.se/amp/s/www.r-bloggers.com/date-formats-in-r/amp/