我有数据输入以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")
答案 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