我写了以下代码来更改日期格式:
m <- as.Date("30-sep-15","%d-%b-%y")
l <- format(m,"%Y%m%d")
Run Code Online (Sandbox Code Playgroud)
结果:
l is 20150930
Run Code Online (Sandbox Code Playgroud)
现在,当我检查结果对象的类时,即l
class(l)
"character"
Run Code Online (Sandbox Code Playgroud)
类和模式更改为字符.我们可以保留此对象的Date类,而且还表现在以下格式此对象:20150930??
您可以使用关联的print方法定义自己的S3类:
m <- as.Date("30-sep-15","%d-%b-%y")
m
prettyDate <- function(x) {
if (!inherits(x, "Date")) stop("Only objects of class 'Date' can be prettyDates.")
class(x) <- c("prettyDate", class(x))
x
}
m <- prettyDate(m)
print.prettyDate <- function(x, ...) {
stopifnot(inherits(x, "Date"))
print.default(format(x, "%Y%m%d"))
}
m
#[1] "20150930"
class(m)
#[1] "prettyDate" "Date"
Run Code Online (Sandbox Code Playgroud)
如果您还希望在data.frames中打印格式,则还需要定义format方法.
Date 如果没有其他类的方法,方法仍将用于该对象:
as.POSIXct(m)
#[1] "2015-09-30 02:00:00 CEST"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
82 次 |
| 最近记录: |