符号 |
含义 |
示例 |
%Y |
四位数年份 |
2007 |
%y |
两位数年份 |
07 |
%B |
非缩写月份 |
January |
%b |
缩写月份 |
Jan |
%m |
两位数月份 |
00~12 |
%A |
非缩写星期名 |
Monday |
%a |
缩写星期名 |
Mon |
%d |
两位数日期 |
01~31 |
- 取出当前日期
> Sys.time()
[1] "2021-05-25 21:00:26 CST"
#返回当天的日期
> v1 <- Sys.time()
> class(v1)
[1] "POSIXct" "POSIXt"
> date()
[1] "Tue May 25 21:00:37 2021"
#返回当天的日期和时间
> v2 <- date()
> class(v2)
[1] "character"
- 在R中日期实际是double类型,是从1970年1月1日以来的天数
> typeof(Sys.Date())
[1] "double"
- 将字符型数据转换为日期
语法为as.Date(x,"input format")
默认输入格式yyyy-mm-dd
#默认读取格式
> mydate <- as.Date(c("2007-06-22","2004-02-13"))
> class(mydate)
[1] "Date"
#mm/dd/yyyy格式读取
> strdates <- c("01/05/1965","08/16/1975")
> dates <- as.Date(strdates,"%m%d%Y")
> class(dates)
[1] "Date"
#mm/dd/yy格式读取
> leaderdates <- as.Date(c("01/05/1965","08/16/1975"),"%m%d%y")
> class(leaderdates)
[1] "Date"
- 将日期值输出为字符串
语法为format ( x, format = "output_format" )
> today <- Sys.Date()
> format(today,format="%B %d %Y")
[1] "May 26 2021"
> class(format(today,format="%B %d %Y"))
[1] "character"
- 计算日期差值
> startdate <- as.Date("2004-2-13")
> enddate <- as.Date("2011-01-22")
> days <- enddate - startdate
> days
Time difference of 2535 days
#用difftime函数计算间隔
> today <- Sys.Date()
> dob <- as.Date("1956-10-12")
> difftime(today,dob,units = "weeks")
Time difference of 3371.714 weeks
#unit参数可以是“auto”, “secs”, “mins”, “hours”, “days”, “weeks”