朋友们,我们开发程序过程中,有时需要与数据库交互处理日期时间,日期和时间的格式因辨识程度不同,有时就会存在两者之间无法互通的问题,这对于MySQL、MSSQL以及其它各类数据库都是个无法避免的问题。
在有些情况下,我们需要获取日期时间后直接展示,并不希望在程序中做二次格式处理。我们经常会在写SQL脚本的时候,直接把日期时间做好格式化,转成字符串直接返回到程序中。
今天我就谈谈在MySQL脚本中,如何对日期时间做好格式化。如果您希望了解SQLServer对日期格式化的方法,请您查看下笔者另一篇文档《数据库大师成长日记:SQL Server如何获取各种特殊日期》。
先来认识MySQL的DATE_FORMAT() 函数
在MySQL中要对日期时间进行格式化,绕不开DATE_FORMAT() 函数,这是个功能强劲的格式化函数,一般的格式化处理有这个就够了。
其语法格式为:
DATE_FORMAT(datetime,format)
第一个参数就是个日期时间,第二个参数就是要求的格式。重点就是format的含义,请参考下表的含义对照:
格式化应用实例
下面用一些例子说明下日期时间格式化的应用,我们就以now()获取日期时间,然后对其进行各种格式化。
1、DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p') 返回:Dec 22 2018 11:45 PM 2、DATE_FORMAT(NOW(),'%m-%d-%Y') 返回:12-22-2018 3、DATE_FORMAT(NOW(),'%d %b %y') 返回:22 Dec 18 4、DATE_FORMAT(NOW(),'%d %b %Y %T:%f') 返回:22 Dec 2018 16:25:46.635 5、DATE_FORMAT(NOW(),'%H:%i:%s') 返回:18:30:00 6、DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s') 返回:2018-12-22 18:30:00 7、DATE_FORMAT(NOW(), '%Y-%m-%d') 返回:2018-12-22 8、DATE_FORMAT(NOW(), '%Y/%m/%d %H:%i:%s') 返回:2018/12/22 18:30:00
希望对您有所帮助!