MySQL获取与格式化当前日期

需积分: 47 0 下载量 25 浏览量 更新于2024-09-12 收藏 605KB PDF 举报
"这篇博客介绍了如何在MySQL中获取当前日期并进行格式化,提供了NOW()函数获取系统日期,以及DATE_FORMAT()函数进行日期格式化的用法,并列举了各种日期和时间格式的表示方法。" 在MySQL数据库中,获取当前日期和时间是一个常见的需求,这通常可以通过内置函数来实现。`NOW()`函数是其中一个非常实用的函数,它能够返回系统当前的日期和时间,格式为'YYYY-MM-DD HH:MM:SS'。例如,执行`SELECT NOW();`将返回类似'2017-04-26 12:02:59'这样的结果。 当需要对日期进行特定格式的展示时,`DATE_FORMAT()`函数派上了用场。这个函数接受两个参数,第一个是日期或时间字段,第二个是定义输出格式的字符串。例如,如果要将日期格式化为'YY-MM-DD',可以使用以下查询: ```sql SELECT DATE_FORMAT(NOW(), '%y-%m-%d'); ``` 这里,`%y`代表两位数的年份,`%m`代表月份,`%d`代表日。此查询将返回如'17-04-26'这样的格式化日期。 `DATE_FORMAT()`函数支持多种格式化选项,如: - `%S`、`%s`: 两位数的秒(00-59) - `%I`、`%i`: 两位数的分钟(00-59) - `%H`: 24小时制的小时(00-23) - `%h`: 12小时制的小时(01-12) - `%k`: 24小时制的小时(0-23) - `%l`: 12小时制的小时(1-12) - `%T`: 24小时制的时间格式(HH:MM:SS) - `%r`: 12小时制的时间格式(HH:MM:SS AM 或 PM) - `%p`: AM 或 PM - `%W`: 全名的星期几(Sunday, Monday, ...) - `%a`: 缩写的星期几(Sun, Mon, ...) - `%d`: 两位数的月份中的天数(01-31) - `%e`: 数字形式的月份中的天数(1-31) - `%D`: 英文后缀的月份中的天数(1st, 2nd, 3rd, ...) - `%w`: 以数字表示的周中的天数(0=周日,1=周一,...6=周六) - `%j`: 以三位数表示的年中的天数(001-366) - `%U`: 周(0-52),其中周日为一周的第一天 - `%u`: 周(0-52),其中周一为一周的第一天 这些格式化选项可以根据实际需求灵活组合,以满足不同的日期和时间格式化要求。在编写SQL查询时,掌握这些基本的日期处理函数对于数据分析和报告生成是非常有用的。