关于日期处理的包(lubridate)

最近遇到了一些关于时间处理的问题了,有点迷,看了些资料,整理一下。

方便以后自己再次遇到,能有地方速度查阅。

 

首先,介绍一下常用的函数

# now()  返回系统的日期时间

关于日期处理的包(lubridate)

# Sys.Date()  返回系统的日期时间(base包函数)

关于日期处理的包(lubridate)

# 截断函数

# 截断函数(四舍五入)
# round_date(x,'year')
# round_date(x,'month')
# round_date(x,'day')

关于日期处理的包(lubridate)

 

# 截断函数(向上取整)
# ceiling_date(x,'year')
# ceiling_date(x,'month')
# ceiling_date(x,'day')

关于日期处理的包(lubridate)

 

# 截断函数(向下取整)
# floor_date(x,'year')
# floor_date(x,'month')
# floor_date(x,'day')

关于日期处理的包(lubridate)

 

# 对于解决各式各样的日期格式的数据问题,parse_data_time()是一个很好的函数
# 用法 parse_data_time(x,orders = c('ymd','mdy','dmy'))
# 其中 orders 参数指定了可能的日期格式的顺序

例子如下:

关于日期处理的包(lubridate)

#  上面的函数,我觉得这个真的是能解决现实中会遇到的很大的一个问题

 

 

# 下面还有一些小的关于日期的函数比较常用吧

year()  # 返回年
month()  # 返回月
day()  # 返回日
week()  # 返回周数
wday(x,label = TRUE)  # 返回周几
quarter()   # 返回季度
minute()  # 返回分钟
second()  # 返回秒

关于日期处理的包(lubridate)

 

# days_in_month()  返回所属月份的最大天数

关于日期处理的包(lubridate)

# 这里有个问题,若是日期为月底,会出现 NA 值,解决思路如下:

关于日期处理的包(lubridate)

 

# time_length()  计算两个日期之间的间隔

关于日期处理的包(lubridate)

 

 

好了,就这样吧,溜了溜了。