R语言 日期值
2021-05-26 本文已影响0人
小狼小狼_e211
| 符号 | 含义 | 示例 |
|---|---|---|
| %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”