MySQL时间处理

mysql关于时间的函数有date_format,datediff等,这里整理一波。

  • DATE_FORMAT()
  • DATEDIFF()
  • TIMESTAMPDIFF()
  • NOW():输出当前时间,格式 Y-m-d H:i:s
  • CURDATE(): 当前日期,格式 Y-m-d
  • date_sub():
  • FROM_UNIXTIME(): select from_UNIXTIME(1505985895, '%Y-%m-%d');
  • to_days():
  • period_diff() : period_diff(date_format(now() , '%Y%m') , date_format('2017-08-01', '%Y%m'));
  • str_to_date(): str_to_date("2010-11-23 14:39:51",'%Y-%m-%d %H:%i:%s')

提醒:

  1. to_days() 不用于阳历出现(1582)前的值,原因是当日历改变时,遗失的日期不会被考虑在内。因此对于1582 年之前的日期(或许在其它地区为下一年 ), 该函数的结果实不可靠的。
  2. MySQL”日期和时间类型”中的规则是将日期中的二位数年份值转化为四位。因此对于’1997-10-07’和’97-10-07’将被视为同样的日期