最近遇到了一些关于时间处理的问题了,有点迷,看了些资料,整理一下。
方便以后自己再次遇到,能有地方速度查阅。
首先,介绍一下常用的函数
# now() 返回系统的日期时间
# Sys.Date() 返回系统的日期时间(base包函数)
# 截断函数
# 截断函数(四舍五入)
# round_date(x,'year')
# round_date(x,'month')
# round_date(x,'day')
# 截断函数(向上取整)
# ceiling_date(x,'year')
# ceiling_date(x,'month')
# ceiling_date(x,'day')
# 截断函数(向下取整)
# floor_date(x,'year')
# floor_date(x,'month')
# floor_date(x,'day')
# 对于解决各式各样的日期格式的数据问题,parse_data_time()是一个很好的函数
# 用法 parse_data_time(x,orders = c('ymd','mdy','dmy'))
# 其中 orders 参数指定了可能的日期格式的顺序
例子如下:
# 上面的函数,我觉得这个真的是能解决现实中会遇到的很大的一个问题
# 下面还有一些小的关于日期的函数比较常用吧
year() # 返回年
month() # 返回月
day() # 返回日
week() # 返回周数
wday(x,label = TRUE) # 返回周几
quarter() # 返回季度
minute() # 返回分钟
second() # 返回秒
# days_in_month() 返回所属月份的最大天数
# 这里有个问题,若是日期为月底,会出现 NA 值,解决思路如下:
# time_length() 计算两个日期之间的间隔
好了,就这样吧,溜了溜了。