时间和日期

在数据处理时,常会遇见对时间和日期的处理,适当的处理方式会对之后的分析和绘图再来便利

R的内部在存储日期时,是使用自1970年1月1日以来的天数表示的,更早的日期则表示为负数

1. 显示时间和日期
> date()   #显示本时区当前时间和日期
[1] "Thu Nov 19 22:20:24 2020"
> Sys.time()   #显示本时区当前时间和日期
[1] "2020-11-19 22:21:33 CST"

输出时间和日期时,可以指定输出的格式

> format(Sys.time(), "%d/%m/%Y")   #以日/月/年格式显示时间
[1] "19/11/2020"

> format(Sys.time(), "%m/%d/%Y")   #以月/日/年格式显示时间
[1] "11/19/2020"

> format(Sys.time(), "%Y/%m/%d")   #以年/月/日格式显示时间
[1] "2020/11/19"
2. 将字符串转换成时间格式
> aa <- "19/11/2020"

> aa
[1] "19/11/2020"

> class(aa) 
[1] "character"   #此时的aa是一个字符串型变量

> bb <- as.Date(aa)   #将aa转换成时间格式
> bb
[1] "0019-11-20"
> class(bb) 
[1] "Date"   #转换后成为时间格式

as.Date() 函数的用法:
as.Date(字符串型向量, 时间格式)

时间格式
> aa <- c("11/19/2020")
> aa
[1] "11/19/2020"
> class(aa)
[1] "character"

> bb <- as.Date(aa, "%m/%d/%Y")   #后面的日期格式给出当前字符串向量中元素中字符如何与日期格式对应
> bb
[1] "2020-11-19"   #经过整理以后的时间格式
> class(bb)
[1] "Date"   #经过格式化以后,字符串型数据变成日期型数据
3. 日期相减

两个日期数据相减的结果是这两个日期之间的天数差

> dd <- as.Date("2020-11-19")-as.Date("1993-10-08")
> dd
Time difference of 9904 days   #相减的结果是这两个日期之间的天数差
> class(dd)
[1] "difftime"
4. 将日期型数据转换为字符型数据
> ee <- Sys.time()
> ee
[1] "2020-11-19 22:56:16 CST"
> class(ee)
[1] "POSIXct" "POSIXt" 
> as.character(ee)
[1] "2020-11-19 22:56:16"
> class(as.character(ee))   #将日期型数据转换为字符型数据
[1] "character"

版权声明:
作者:zhangchen
链接:https://www.techfm.club/p/58194.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>