mysql 日期时间变成中文显示

        在mysql事件中,里面有个内容,需要把日期时间“2024-02-28 12:15:16”,变成 “24年2月28日12时15分16秒”,

        这时候,需要使用到格式化的内容。

将日期和时间格式化的函数

        DATE_FORMAT(date,format)根据format指定的格式显示date值。主要format格式如表6.3所示。

                                       表6.3 DATE_FORMAT时间日期格式

说明符

说明

%c

月份,数字形式(0..12)

%d

该月日期,数字形式(00..31)

%e

该月日期,数字形式(0..31)

%H

以2位数表示24小时(00..23)

%h, %I

以2位数表示12小时(01..12)

%i

'分钟,数字形(00..59)

%j

一年中的天数(001.366)

%k

以24(20..23)小时表示时间

%l

以12(1..12)小时表示时间

%n

月份,数字形式(00..12)

%r

时间,12小时制(小时hh:分钟mm:秒数ss后加AM或PM)

%S, %s

以2位数形式表示秒(00..59)

%U

周(0.53),其中周日为每周的第一天

%u

周(00..53), 其中周一为每周的第一天

%V

周(01..53), 其中周日为每周的第一天;和%X同时使用

%v

周(01..53),其中周一为每周的第一天;和%x同时使用

%W

工作日名称(周日..周六)

%w

一周中的每日(0=周日..6=周六)

%X

该周的年份,其中周日为每周的第-天;数字形式,4位数;和%V同时使用

%x

该周的年份,其中周一-为每周的第一天;数字形式,4位数;和%v同时使用

%Y

4位数形式表示年份

%y

2位数形式表示年份

%%

'%'文字字符

 当前时间格式化:

SELECT  CONCAT(DATE_FORMAT(NOW(), '%y'),'年', 
DATE_FORMAT(NOW(), '%c'),'月', DATE_FORMAT(NOW(), '%e'),'日',
DATE_FORMAT(NOW(), '%k'),'时', DATE_FORMAT(NOW(), '%i'),'分',
 DATE_FORMAT(NOW(), '%s'),'秒' ) AS time_cn;

指定日期格式化:

SELECT CONCAT(DATE_FORMAT(STR_TO_DATE('2024-02-28 12:15:16', '%Y-%m-%d %H:%i:%s'), '%y'),'年',
 DATE_FORMAT(STR_TO_DATE('2024-02-28 12:15:16', '%Y-%m-%d %H:%i:%s'), '%c'),'月', 
 DATE_FORMAT(STR_TO_DATE('2024-02-28 12:15:16', '%Y-%m-%d %H:%i:%s'), '%e'),'日',
DATE_FORMAT(STR_TO_DATE('2024-02-28 12:15:16', '%Y-%m-%d %H:%i:%s'), '%k'),'时', 
DATE_FORMAT(STR_TO_DATE('2024-02-28 12:15:16', '%Y-%m-%d %H:%i:%s'), '%i'),'分', 
DATE_FORMAT(STR_TO_DATE('2024-02-28 12:15:16', '%Y-%m-%d %H:%i:%s'), '%s'),'秒' ) AS time_cn;

这样内容显得很多

用变量的方式:

SET @date := STR_TO_DATE('2024-02-28 12:15:16', '%Y-%m-%d %H:%i:%s');
SELECT CONCAT(DATE_FORMAT(@date, '%y'),'年', 
DATE_FORMAT(@date, '%c'),'月', DATE_FORMAT(@date, '%e'),'日',
DATE_FORMAT(@date, '%k'),'时', DATE_FORMAT(@date, '%i'),'分', 
DATE_FORMAT(@date, '%s'),'秒' ) AS time_cn;

这样就简洁一些

范围日期时间格式化:

SET @startDate := STR_TO_DATE('2024-02-28 12:15:16', '%Y-%m-%d %H:%i:%s'),
 @endDate := STR_TO_DATE('2024-03-5 11:25:06', '%Y-%m-%d %H:%i:%s');
SELECT CONCAT(DATE_FORMAT(@startDate, '%y'),'年', 
DATE_FORMAT(@startDate, '%c'),'月', DATE_FORMAT(@startDate, '%e'),'日',
DATE_FORMAT(@startDate, '%k'),'时', DATE_FORMAT(@startDate, '%i'),'分', 
DATE_FORMAT(@startDate, '%s'),'秒','到',
DATE_FORMAT(@endDate, '%y'),'年', DATE_FORMAT(@endDate, '%c'),'月',
 DATE_FORMAT(@endDate, '%e'),'日',
DATE_FORMAT(@endDate, '%k'),'时', DATE_FORMAT(@endDate, '%i'),'分', 
DATE_FORMAT(@endDate, '%s'),'秒' ) AS time_cn;

总结:

        日期时间要转换为中文的格式,需要使用到格式化的函数,具体格式化要求,根据实际的来,参考列表上的内容进行处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天狼1222

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值