如何通过posixct将日期转换为2017年10月9日至09-11-2017?

时间:2018-05-10 04:47:58

标签: r date posixct

我有以下数据集

enter image description here

我想使用Posixct

转换日期数据类型中的这些行

现在我正在使用

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

但输出错误,请解决此问题。

4 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

在我看来,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"

答案 2 :(得分:1)

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

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

答案 3 :(得分:1)

您只需要在Base R中使用as.Date并了解日期的格式选项:

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

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