Mysql, en tant que base de données relationnelle gratuite de Kaiyuan, a une très large base d'utilisateurs. Cet article répertorie les fonctions de date et les fonctions de formatage de conversion de date couramment utilisées dans MYSQL.
1. JOUR DE LA SEMAINE(date)
SELECT DAYOFWEEK(‘2016-01-16') SELECT DAYOFWEEK(‘2016-01-16 00:00:00')
-> 7 (表示,记住:星期天=1,星期一=2, ... 星期六=7)
2. JOUR DE LA SEMAINE(date)
SELECT WEEKDAY(‘2016-01-16') SELECT WEEKDAY(‘2016-01-16 00:00:00')
-> 5 (表示返回date是在一周中的序号,西方日历中通常一周的开始是星期天,并且以0开始计数,所以,记住:0=星期一,1=星期二, ... 5=星期六)
3 , JOUR DU MOIS (date)
SELECT DAYOFMONTH(‘2016-01-16') SELECT DAYOFMONTH(‘2016-01-16 00:00:00')
-> 16 (表示返回date是当月的第几天,1号就返回1,... ,31号就返回31)
4.
SELECT DAYOFYEAR(‘2016-03-31') SELECT DAYOFYEAR(‘2016-03-31 00:00:00')
-> 91 (表示返回date是当年的第几天,01.01返回1,... ,12.31就返回365)
MOIS(date)
SELECT MONTH(‘2016-01-16') SELECT MONTH(‘2016-01-16 00:00:00')
-> 1 (表示返回date是当年的第几月,1月就返回1,... ,12月就返回12)
6. NOM DU JOUR(date)
SELECT DAYNAME(‘2016-01-16') SELECT DAYNAME(‘2016-01-16 00:00:00')
-> Saturday (表示返回date是周几的英文全称名字)
7. NOM DU MOIS(date)
SELECT MONTHNAME(‘2016-01-16') SELECT MONTHNAME(‘2016-01-16 00:00:00')
-> January (表示返回date的是当年第几月的英文名字)
8. TRIMESTRE(date)
SELECT QUARTER(‘2016-01-16') SELECT QUARTER(‘2016-01-16 00:00:00')
-> 1 (表示返回date的是当年的第几个季度,返回1,2,3,4)
9. SEMAINE(date, index)
SELECT WEEK(‘2016-01-03') SELECT WEEK(‘2016-01-03', 0) SELECT WEEK(‘2016-01-03', 1)
-> 1 (该函数返回date在一年当中的第几周,date(01.03)是周日,默认是以为周日作为一周的第一天,函数在此处返回1可以有两种理解:1、第一周返回0,第二周返回1,.... ,2、以当年的完整周开始计数,第一周返回1,第二周返回2,... ,最后一周返回53) -> 1 (week()默认index就是0. 所以结果同上) -> 0 (当index为1时,表示一周的第一天是周一,所以,4号周一才是第二周的开始日)
10. )
SELECT YEAR(‘70-01-16') SELECT YEAR(‘2070-01-16') SELECT YEAR(‘69-01-16 00:00:00')
-> 1970 (表示返回date的4位数年份) -> 2070 -> 1969
11, HOUR(time)
SELECT HOUR(‘11:22:33') SELECT HOUR(‘2016-01-16 11:22:33')
-> 11 -> 11
12. MINUTE(heure)
SELECT MINUTE(‘11:22:33') SELECT MINUTE(‘2016-01-16 11:44:33')
-> 22 -> 44
13. SECONDE(heure)
SELECT SECOND(‘11:22:33') SELECT SECOND(‘2016-01-16 11:44:22')
-> 33 -> 22
14, PERIOD_ADD(month, add)
SELECT PERIOD_ADD(1601,2) SELECT PERIOD_ADD(191602,3) SELECT PERIOD_ADD(191602,-3)
-> 201603 -> 191605 -> 191511
15, PERIOD_DIFF(monthStart, MonthEnd)
SELECT PERIOD_DIFF(1601,1603) SELECT PERIOD_DIFF(191602,191607) SELECT PERIOD_DIFF(1916-02,1916-07) SELECT PERIOD_DIFF(1602,9002)
-> -2 -> -5 -> 5 -> 312
16, DATE_ADD(date, INTERVAL number type), identique à ADDDATE()
SELECT DATE_ADD(“2015-12-31 23:59:59”,INTERVAL 1 SECOND) SELECT DATE_ADD(“2015-12-31 23:59:59”,INTERVAL 1 DAY) SELECT DATE_ADD(“2015-12-31 23:59:59”,INTERVAL “1:1” MINUTE_SECOND) SELECT DATE_ADD(“2016-01-01 00:00:00”,INTERVAL “-1 10” DAY_HOUR)
-> 2016-01-01 00:00:00 -> 2016-01-01 23:59:59 -> 2016-01-01 00:01:00 -> 2015-12-30 14:00:00
SECONDES secondes SECONDES
MINUTE minutes MINUTES <. 🎜> HEURE heure HEURES
JOUR jours JOURS
MOIS Mois MOIS
ANNÉE ANNÉES
MINUTE_SECOND Minutes et secondes "MINUTES:SECONDS"
HOUR_MINUTE Heures et minutes "HOURS:MINUTES"
DAY_HOUR Jours et heures "DAYS HOURS"
YEAR_MONTH Années et mois "YEARS-MONTHS"
HOUR_SECOND heures, minutes, "HOURS:MINUTES:SECONDS"
DAY_MINUTE jours, heures, minutes "DAYS HOURS:MINUTES"
DAY_SECOND jours, heures, minutes, secondes "DAYS HOURS: MINUTES:SECONDS"
SELECT “2016-01-01” - INTERVAL 1 SECOND SELECT “2016-01-01” - INTERVAL 1 DAY SELECT ‘2016-12-31 23:59:59' + INTERVAL 1 SECOND SELECT ‘2016-12-31 23:59:59' + INTERVAL “1:1” MINUTE_SECOND
<🎜. >
-> 2015-12-31 23:59:59 -> 2015-12-31 -> 2017-01-01 00:00:00 -> 2017-01-01 00:01:00
L'utilisation est similaire à DATE_ADD() et ADDDATE(), l'un est pour l'addition et l'autre est pour la soustraction, veuillez vous référer à 16 points pour l'utilisation. Pour une utilisation spécifique, veuillez vous référer à DATE_ADD() et ADDDATE().
18. TO_DAYS(date)
SELECT TO_DAYS(‘2016-01-16') SELECT TO_DAYS(‘20160116') SELECT TO_DAYS(‘160116')
Renvoie le nombre total de jours de AD 0 à ce jour
-> 736344 -> 736344 -> 736344
19, FROM_DAYS(date)
SELECT FROM_DAYS(367)
Renvoie la valeur DATE du nombre de jours depuis l'année 0 après JC
-> 0001-01-02
20. DATE_FORMAT(date, format) : Formate la date en fonction des paramètres.
SELECT DATE_FORMAT(‘2016-01-16 22:23:00','%W %M %Y') SELECT DATE_FORMAT(‘2016-01-16 22:23:00','%D %y %a %d %m %b %j') SELECT DATE_FORMAT(‘2016-01-16 22:23:00','%H %k %I %r %T %S %w') SELECT DATE_FORMAT(‘2016-01-16 22:23:00','%Y-%m-%d %H:%i:%s')
les formats de format sont répertoriés :
%M 月名字(January……December)
%W 星期名字(Sunday……Saturday)
%D 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。)
%Y 年, 数字, 4 位
%y 年, 数字, 2 位
%a 缩写的星期名字(Sun……Sat)
%d 月份中的天数, 数字(00……31)
%e 月份中的天数, 数字(0……31)
%m 月, 数字(01……12)
%c 月, 数字(1……12)
%b 缩写的月份名字(Jan……Dec)
%j 一年中的天数(001……366)
%H 小时(00……23)
%k 小时(0……23)
%h 小时(01……12)
%I 小时(01……12)
%l 小时(1……12)
%i 分钟, 数字(00……59)
%r 时间,12 小时(hh:mm:ss [AP]M)
%T 时间,24 小时(hh:mm:ss)
%S 秒(00……59)
%s 秒(00……59)
%p AM或PM
%w 一个星期中的天数(0=Sunday ……6=Saturday )
%U 星期(0……52), 这里星期天是星期的第一天
%u 星期(0……52), 这里星期一是星期的第一天
%% 字符% )
TIME_FORMAT(time,format):
具体用法和DATE_FORMAT()类似,但TIME_FORMAT只处理小时、分钟和秒(其余符号产生一个NULL值或0)
21、获取系统当前日期
SELECT CURDATE() SELECT CURRENT_DATE()
-> 2016-01-16 -> 2016-01-16
22、获取系统当前时间
SELECT CURTIME() SELECT CURRENT_TIME()
-> 17:44:22 -> 17:44:22
23、NOW(),SYSDATE(),CURRENT_TIMESTAMP(),LOCALTIME():获取系统当前日期和时间
SELECT NOW() SELECT SYSDATE() SELECT CURRENT_TIMESTAMP() SELECT CURRENT_TIMESTAMP SELECT LOCALTIME() SELECT LOCALTIME
-> 2016-01-16 17:44:41 -> 2016-01-16 17:44:41 -> 2016-01-16 17:44:41 -> 2016-01-16 17:44:41 -> 2016-01-16 17:44:41 -> 2016-01-16 17:44:41
24、UNIX_TIMESTAMP(date):获取时间戳
SELECT UNIX_TIMESTAMP() SELECT UNIX_TIMESTAMP(‘2016-01-16') SELECT UNIX_TIMESTAMP(‘2016-01-16 23:59:59')
-> 1452937627 -> 1452873600 -> 1452959999
25、FROM_UNIXTIME(unix_timestamp,format):把时间戳转化成日期时间
SELECT FROM_UNIXTIME(1452959999) SELECT FROM_UNIXTIME(1452959999,'%Y-%m-%d %H:%i:%s')
-> 2016-01-16 23:59:59 -> 2016-01-16 23:59:59
26、SEC_TO_TIME(seconds):把秒数转化成时间
SELECT SEC_TO_TIME(2378)
-> 00:39:38
27、TIME_TO_SEC(time):把时间转化成秒数
SELECT TIME_TO_SEC(‘22:23:00')
-> 2378
28、ADDTIME(time,times):把times加到time上
SELECT ADDTIME(“2015-12-31 23:59:59”,'01:01:01')
-> 2016-01-01 01:01:00
29、CONVERT_TZ(date,from_tz ,to_tz ):转换时区
SELECT CONVERT_TZ(‘2004-01-01 12:00:00','+00:00','+10:00')
-> 2004-01-01 22:00:00
30、STR_TO_DATE(date,format ):将字符串转成format格式的日期时间
SELECT STR_TO_DATE(‘2015-01-01', ‘%Y-%m-%d')
-> 2015-01-01
31、LAST_DAY(date ):获取date当月最后一天的日期
SELECT LAST_DAY(SYSDATE()) SELECT LAST_DAY(‘2015-02-02') SELECT LAST_DAY(‘2015-02-02 00:22:33')
-> 2016-01-31 -> 2015-02-28 -> 2015-02-28
32、MAKEDATE(year ,dayofyear ):根据参数(年份,第多少天)获取日期
SELECT MAKEDATE(2015 ,32)
-> 2015-02-01
33、 MAKETIME(hour ,minute ,second ):根据参数(时,分,秒)获取时间
SELECT MAKETIME(12 ,23 ,34 )
-> 12:23:34
34、YEARWEEK(date):获取日期的年和周
SELECT YEARWEEK(SYSDATE()) SELECT YEARWEEK(‘2015-01-10') SELECT YEARWEEK(‘2015-01-10',1)
-> 201602 -> 201501 -> 201502
35、WEEKOFYEAR(date):获取当日是当年的第几周
SELECT WEEKOFYEAR(SYSDATE()) SELECT WEEKOFYEAR(‘2015-01-10')
-> 2 -> 2
-> 2
-> 2
mysql中常用的几种时间格式转换函数整理如下
1,from_unixtime(timestamp, format):
timestamp为int型时间,如14290450779;format为转换的格式,包含格式如下:
%M Nom du mois (janvier...décembre)
%W Nom de la semaine (dimanche...samedi)
%D Jour du mois avec préfixe anglais (1er, 2e, 3e, etc.)
%Y année, chiffre, 4 chiffres
%y année, chiffre, 2 chiffres
%a nom abrégé de la semaine (Dim...Sam)
%d nombre de jours dans le mois , nombre (00… …31)
%e Nombre de jours dans le mois, nombre (0……31)
%m Mois, nombre (01……12)
%c Mois, nombre ( 1……12)
%b nom du mois abrégé (janvier...décembre)
%j nombre de jours dans une année (001...366)
%H heures (00...23 )
%k heures (0... …23)
%h heures (01…12)
%I heures (01…12)
%l heures (1…12)
%i minutes, nombre (00… …59)
%r temps, 12 heures (hh:mm:ss [AP]M)
%T temps, 24 heures (hh:mm:ss)
%S secondes (00……59 )
%s secondes (00……59)
%p AM ou PM
%w nombre de jours dans une semaine (0=dimanche…6=samedi)
%U semaine (0……52), où dimanche est le premier jour de la semaine
%u semaine (0……52), où lundi est le premier jour de la semaine
2, unix_timestamp(date):
La fonction est exactement le contraire de from_unixtime() La première convertit l'horodatage unix en une heure lisible, tandis que unix_timestamp() convertit l'heure lisible en. un horodatage unix. Ceci est utile pour le stockage datetime. Il est utilisé lors du tri par heure. Par exemple, unix_timestamp('2009-08-06 10:10:40'), vous obtenez 1249524739.
Si unix_timestamp() ne transmet pas de paramètres, la fonction now() est appelée pour obtenir automatiquement l'heure actuelle.
3, date_format(date, format) :
date_format() convertit les valeurs de type date ou datetime dans n'importe quel format d'heure. Par exemple, dans un scénario d'application courant, une table comporte un champ qui correspond à l'heure de mise à jour et stocke le type datetime. Cependant, lorsqu'elle est affichée dans le frontal, elle doit uniquement afficher l'année, le mois et le jour (xxxx-xx-). xx). Dans ce cas, vous pouvez utiliser le traitement date_format(date,'% Y-%m-%d ') sans utiliser le traitement de boucle de programme dans le jeu de résultats.
Recommandations associées :
Fonctions de date MySQL fréquemment utilisées
Types de date et d'heure MySQL
Tutoriel d'opération de date php mysql function_PHP
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!