我正在尝试将数据框中的日期从yyyy-mm-dd转换为dd-mm-yyyy格式.例如:
D <- "06.12.2012"
as.Date(D, "%d.%m.%Y")
D
Run Code Online (Sandbox Code Playgroud)
回报:
"2012-12-06"
Run Code Online (Sandbox Code Playgroud)
如何将其转换为"06-12-2012"?
Dir*_*tel 19
a)解析
d <- as.Date( "06.12.2012", "%d.%m.%Y")
Run Code Online (Sandbox Code Playgroud)
b)格式
strftime(d, "%m-%d-%Y")
Run Code Online (Sandbox Code Playgroud)
要么
format(d, "%m-%d-%Y")
Run Code Online (Sandbox Code Playgroud)
严格来说,你不能.A Date是一个整数(自1970-01-01以来的天数),在打印时看起来像一个字符串.Date对象的打印格式为YYYY-MM-DD,因为这是ISO-8601标准.
正如@GSee在聊天中提到的那样,您必须使用以下内容重新定义print.Date方法:
print.Date <- function(x, max=NULL, ...) {
if (is.null(max))
max <- getOption("max.print", 9999L)
if (max < length(x)) {
print(format(x[seq_len(max)], "%d-%m-%Y"), max = max, ...)
cat(" [ reached getOption(\"max.print\") -- omitted",
length(x) - max, "entries ]\n")
}
else print(format(x, "%d-%m-%Y"), max = max, ...)
invisible(x)
}
Run Code Online (Sandbox Code Playgroud)