日期转化:要处理的数据格式为'yyyy-mm-dd hh:mm:ss'
计算数据'2023-01-01 12:01:00'
year():取数据的年 year('2023-01-01 12:01:00') ----2023
month():取数据的月份 month('2023-01-01 12:01:00') ----01
day():取数据的日 day('2023-01-01 12:01:00') ----01
hour():取数据的小时 hour('2023-01-01 12:01:00') ----12
转化为年月日的形式:
date('2023-01-01 12:01:00')----2023-01-01
或者使用字符串截断的形式:
substr('2023-01-01 12:01:00',1,10) -----2023-01-01 代表截取第一个字符到第10个字符的内容
from_unixtime(unix_timestamp('2023-01-01 12:01:00')+1,'yyyy-MM-dd HH:mm:ss')-----2023-01-01 12:01:01
from_unixtime(unix_timestamp('20230101','yyyymmdd'),'yyyy-mm-dd') -----2023-01-01
current_date()
date_add(current_date(),-1)---加上负一天
current_sub(surrent_date(),1)---减去一天
last_day(current_date())--月末最后一天
datediff(now(),befor)--返回两天的天数
date_diff('day',now(),befor)--presto
(unix_timestamp(call_start_time)-unix_timestamp( les_stu_started_at))
date_add(current_date(),cast(1-date_format(current_date(),'u') as int))
date_add(current_date(),cast(7-date_format(current_date(),'u') as int))--日期型
weekofyear(current_date())--当天是当年的第几周
add_months(current_date(), -1)---上一个月的当天日期 返回'yyyy-mm-dd'
add_months(substr(current_date(),1,7), -1)---上一个月 返回'yyyy-mm-01'
date_format(month-interval'1'month,'yyyy-MM')--上一个月 返回'yyyy-mm'
months_between(date_now,date_befor)--输入日期格式为'yyyy-mm' 返回相差几个月