如何使用MySQL判断日期是否为今天(mysql判断是否是今天)
日期格式始终是让我们搞蒙的事情,计算机表示的方式往往在一定时间段内看起来像特定的格式,但是考虑到非一般的地区和语言,事情变得更复杂。
MySQL 具有很强的支持,可以帮助我们将日期数据按照特定格式转换,这里介绍一种使用MySQL来判断日期是否为今天的方法。
第一步是将日期字符串转换为 Unix 时间戳,MySQL中UNIX_TIMESTAMP()函数可以帮助我们办到这一点,它将根据字符串指定的日期和时间值,返回以秒为单位的Unix 时间戳,代码示例如下:
SELECT UNIX_TIMESTAMP('2016-03-01 12:00:00');
第二步,判断获取的时间戳与当前的时间戳的差值是否在一天的范围内,MySQL 中的TIMESTAMPDIFF()函数可以帮助我们实现,它接受三个参数,第一个参数是要比较的时间单位,这里用的是DAY或者DAYS,第二个参数是被比较的时间戳,第三个参数是当前时间戳,代码示例如下:
SELECT TIMESTAMPDIFF(DAY,a.date_time, UNIX_TIMESTAMP(NOW())) from table_name a;
如果结果在0到1之间,就可以判断为今天。
另外MySQL有一个方便的DATE_FORMAT()函数可以根据指定的日期格式输出你想要的字符串,例如,我们要这样做:
SELECT DATE_FORMAT(NOW(),"%Y-%m-%d 00:00:00");
它返回一个当前日期的00:00:00点时间,像这样:2012-06-29 00:00:00。
通过以上介绍,我们可以判断日期是否为今天,只要按照以上实施即可,使用MySQL函数明显比其他语言更容易实施。