将日期格式从d / m / y时间转换为d / m / y

时间:2017-03-29 01:56:39

标签: r date date-formatting

我有数据输入以d / m / y时间的形式出现,例如:" 3/27/2017 1:20:15 AM"我希望只有d / m / y来显示3/27/2017。

我已经看到了如何实现这一点的不同技术,并尝试了3种不同的类型,但是我接受了NA作为新输出,后来我得到了charToDate(x)中的"错误:   字符串不是标准的明确格式" 错误。

这是我的示例代码:

df <- data.frame(Date = "3/27/2017 1:20:15 AM")

df$Date <- as.POSIXct(as.character(df$Date), format = "%d/%m/%Y")

df$Date <- as.Date(df$Date, "%d/%m/%Y")

df$Date <- format(as.Date(df$Date), "%d/%m/%Y")

2 个答案:

答案 0 :(得分:0)

您希望格式= %m/%d/%Y而不是%d/%m/%Y

如果专门的日期格式仍然让您在此之后的时间出现问题,您可以先使用strsplit()分解空格中的字符串,然后抓住第一项以获得日期。

date <- "3/27/2017 1:20:15 AM"
date <- strsplit(date," ")
date <- unlist(date)[1]
date <- as.POSIXct(date,format="%m/%d/%Y")

答案 1 :(得分:0)

您需要提供完整的格式字符串才能将其标识为日期时间。 在你的情况下,它将是这样的:

Name_In