滁州网站开发公司电话/app开发费用标准
文章目录
- 日期和时间类
- POSIXct和POSIXlt类
- Date类
- 日期和字符串的相互转换
- 字符串转为日期:``strptime()``
- 日期的格式化:``strftime()``
- 日期和时间数据的运算
- 加数值
- 求两个日期/时间之间的差值:``difftime()``
- 生成规律时间序列:``seq()``
日期和时间类
POSIXct和POSIXlt类
- POSIXct:存储了以世界标准时 (UTC)为准的从1970年开始计时的秒数计数
- 返回当前日期和时间:
Sys.time()
- POSIXct:适用于存储和计算时间
- POSIXlt:适用于提取日期中的特定部分
Date类
- Date:存储了1970年开始计算的天数
- 当不在乎一天中具体时刻时,用Date会很方便
日期和字符串的相互转换
字符串转为日期:strptime()
语法如下:
strptime(
待转换的字符串,
"字符串服从的日期格式",
tz=时区 #e.g. "UTC"
)
字符串服从的日期格式通配符如下:
写法 | 含义 |
---|---|
%Y | 四位数表示的年份 |
%m | 月 |
%d | 日 |
%H | 时 |
%M | 分 |
%S | 秒 |
该函数转换出的将是一个POSIXlt
对象。
利用as.Date()
函数,可将该对象转化为Date对象。
> raw<-c("2020/09/07","2020/09/10","2020/09/11") # 该向量中每个元素都是字符串表示的日期
> raw_lt<-strptime(raw,"%Y/%m/%d",tz="UTC") # 声明字符串中日期的共同格式,进行提取
> raw_date<-as.Date(raw_lt) # 将生成的POSIXlt对象转化为Date对象
> raw_date
[1] "2020-09-07" "2020-09-10" "2020-09-11"
日期的格式化:strftime()
考虑到日期口语叙述特征的原因,该函数的日期时间通配符和strptime()
有所不同。
仅举一例。
> now_ct<-Sys.time()
> strftime(now_ct,"It is %I:%M %p on %A %d %B, %Y.")
[1] "It is 09:07 下午 on 星期三 13 一月, 2021."
日期和时间数据的运算
加数值
- POSIX对象加数值:按秒加
- Date对象加数值:按天加
求两个日期/时间之间的差值:difftime()
语法:difftime(被减数,减数,units="单位声明")
单位:secs, mins, hours, days, weeks,...
生成规律时间序列:seq()
语法:seq(起始时间,结束时间,by="单位时间间隔")
> start<-as.Date(strptime("2020-08-31","%Y-%m-%d"))
> end<-as.Date(strptime("2020-11-04","%Y-%m-%d"))
> timeseq<-seq(start,end,by="1 day")