R语言 日期值

符号 含义 示例
%Y 四位数年份 2007
%y 两位数年份 07
%B 非缩写月份 January
%b 缩写月份 Jan
%m 两位数月份 00~12
%A 非缩写星期名 Monday
%a 缩写星期名 Mon
%d 两位数日期 01~31
  1. 取出当前日期
> 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"
  1. 在R中日期实际是double类型,是从1970年1月1日以来的天数
> typeof(Sys.Date())
[1] "double"
  1. 将字符型数据转换为日期
    语法为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"
  1. 将日期值输出为字符串
    语法为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"
  1. 计算日期差值
> 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”
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容