MySQL中常常会用到对日期的格式化,比如按某时间格式计算间隔,按某时间格式统计信息等等,所以整理了一下日期格式化的参数,可以根据自己的需求进行组合使用。使用例子如下:

(1)SELECT DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%s');

(2)SELECT DATE_FORMAT('2018-10-22 16:08:07','%Y年%m月%d日 %H时%i分%s秒');

格式化参数如下:

%a 缩写星期名(Sun-Sat)
%b 缩写月份名(Jan-Dec)
%c 月份(1-12)
%D 带有英文后缀的月份中的天(1st-31st)
%d 月份中的天(01-31)
%e 月份中的天(1-31)
%f 微秒
%H 小时,24小时制(00-23)
%h 小时,12小时制(01-12)
%I 小时,12小时制(01-12)
%i 分钟(00-59)
%j 一年中的天(001-366)
%k 小时,24小时制(0-23)
%l 小时,12小时制(1-12)
%M 月份全名(January-December)
%m 月份(01-12)
%p 12小时标志(AM 或 PM)
%r 时间,12小时制(hh:mm:ss AM 或 PM)
%S 秒(00-59)
%s 秒(00-59)
%T 时间,24小时制(hh:mm:ss)
%U 一年中的周(00-53) 星期日是一周的第一天
%u 一年中的周(00-53) 星期一是一周的第一天
%V 一年中的周(01-53) 星期日是一周的第一天,与%X使用
%v 一年中的周(01-53) 星期一是一周的第一天,与%x使用
%W 星期全名
%w 一周中的天 (0=星期日, 6=星期六)
%X 年份(yyyy) 星期日是周的第一天,与%V使用
%x 年份(yyyy) 星期一是周的第一天,与%v使用
%Y 年份(yyyy)
%y 年份(yy)

PS:使用%U和%u时注意,其中的周计算规则与通常的周计算有所不同,会使用到00周,比如:

(1)2016年1月1日的周信息,用%U获取为第00周,直到2016年1月3日才是第01周。用%u获取也为第00周,直到2016年1月4日才是第01周。

(2)2019年1月1日的周信息,用%U获取为第00周,直到2019年1月6日才是第01周。而用%u获取为第01周。使用%X%V获取为2018年的第52周。使用%x%v获取为2019年的第01周。

因为:

%U对第一周的判断:星期日为一周的第一天,则必须包含星期日。

%u对第一周的判断:星期一为一周的第一天,则必须包含星期一,或第一周最少包含4天。

MySQL日期时间格式化参数的更多相关文章

  1. ORACLE——日期时间格式化参数详解 之一

    2.日期格式化参数详解 2.1 -/,.;: 指定返回字串分隔符 SQL> select to_char(sysdate,'yyyy.mm.dd') from dual; TO_CHAR(SYS ...

  2. ORACLE——日期时间格式化参数详解 之二

    2.8 DD 指定日期在当月中第几天(范围:1-31) SQL> select to_char(sysdate,'DD YYYY-MM-DD PM hh24:mi:ss ') from dual ...

  3. 008、MySQL日期时间格式化输出

    #日期格式化 SELECT date_format( '2008/08/08 22:23:01', '%Y-%m-%d-%H--%i--%s' ); 不忘初心,如果您认为这篇文章有价值,认同作者的付出 ...

  4. ORACLE——日期时间格式化参数详解 之三

    2.20 Y,YYY 返回有逗号分隔显示的年 SQL> select to_char(SYSTIMESTAMP,'Y,YYY') from dual; TO_CHAR(SYSTIMESTAMP, ...

  5. MySQL日期时间处理函数

    -- MySQL日期时间处理函数SELECT NOW() FROM DUAL;-- 当前日期时间:2017-05-12 11:41:47-- 在MySQL里也存在和Oracle里类似的dual虚拟表: ...

  6. MySQL 日期时间函数大全 (转)

    转载自:http://blog.itpub.net/29773961/viewspace-1808967 以下内容基于MySQL 5.6及更高,大部分函数5.5也基本适用,更低版本请参考对应版本手册, ...

  7. Mysql日期时间大全

    MySQL日期时间函数大全 DAYOFWEEK(date)  返回日期date是星期几(1=星期天,2=星期一,--7=星期六,ODBC标准)mysql> select DAYOFWEEK('1 ...

  8. MySQL日期时间函数大全(转)

    MySQL日期时间函数大全 DAYOFWEEK(date)  返回日期date是星期几(1=星期天,2=星期一,……7=星期六,ODBC标准)mysql> select DAYOFWEEK('1 ...

  9. 【转】MySQL日期时间函数大全

    MySQL日期时间函数大全 1.DAYOFWEEK(date)  返回日期date是星期几(1=星期天,2=星期一,……7=星期六,ODBC标准)mysql> select DAYOFWEEK( ...

随机推荐

  1. shell脚本--输入与输出

    输出带有转义字符的内容 单独一个echo表示一个换行 使用echo输出时,每一条命令之后,都默认加一个换行:要想取消默认的换行,需要加 -n 参数. #!/bin/bash #文件名:test.sh ...

  2. 震旦199打印机扫描A4文件

    1.需要扫描的A4文件放入输稿器 2.使用数据线将打印机.电脑连接 3.在电脑中右键打印机,选择扫描功能 4.如下图,选择选项后,点击扫描即可

  3. Delphi通过查找字符定位TADOQuery数据的位置

    通过TADOQuery的方法Locate,输入字符,查找到定位到对应的数据位置,优点快速定位,缺点是只匹配查找到的和第一个位置,无法连续定位下一个! //定位qrymembertype.Locate( ...

  4. python之tkinter使用-消息弹框

    # messagebox:消息弹框 # 不断点击按钮,切换各种弹窗 import tkinter as tk from tkinter import messagebox from tk_center ...

  5. Mayor's posters POJ - 2528(线段树 + 离散化)

    Mayor's posters Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 74745   Accepted: 21574 ...

  6. Educational Codeforces Round 23 B. Makes And The Product

    B. Makes And The Product time limit per test 2 seconds memory limit per test 256 megabytes input sta ...

  7. java BigDecimal加减乘除 与 保留两位小数

    BigDecimal bignum1 = new BigDecimal("10"); BigDecimal bignum2 = new BigDecimal("5&quo ...

  8. MT【241】红蓝两色染色

    用红蓝两色给$3*3$的格子染色,要求每行每列每种颜色都有,则不同的染色方法_____ 分析:按红色格子数分类,1)红色3或者6个有6种.2)红色4或者5个有45种.故一共有2*(6+45)=102种 ...

  9. MT【56】2017联赛一试解答最后一题:一道复数题的几何意义

  10. Java微信公众号安全模式消息解密

    这篇文章主要为大家详细介绍了Java微信公众号安全模式消息解密,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 1.微信公众平台下载解密工具,导入项目中,根据demo解密消息 public stat ...