Maison  >  Article  >  base de données  >  date et heure mysql

date et heure mysql

韦小宝
韦小宝original
2017-12-04 09:36:511870parcourir

Au début, il y aura certainement beaucoup d'étudiants qui ne comprendront pas l'heure d'acquisition de mysql Aujourd'hui, nous allons parler en détail de l'heure et de la date de mysql. Pour mysqlLes étudiants qui ne connaissent pas l'heure et la date peuvent en savoir plus~

1 Obtenir la date et l'heure

<.>

1,1 Obtenez la date et l'heure locales actuelles

SELECT 
    NOW(), 
    CURRENT_TIMESTAMP(), 
    LOCALTIME(), 
    LOCALTIMESTAMP(),
    SYSDATE();

Les 5 fonctions ci-dessus peuvent toutes obtenir l'heure locale actuelle , mais SYSDATE est différent.

SELECT NOW(), SLEEP(3), NOW();
Résultat de l'exécution :

NOW()                  sleep(3)     NOW()
2017-11-09 17:21:09    0            2017-11-09 17:21:09
Bien qu'il ait dormi pendant 3 secondes, le temps obtenu avant et après NOW() est le même, ce qui signifie que le temps obtenu par NOW () est la même L'heure est l'heure à laquelle toute l'instruction SQL commence à être exécutée. Quel que soit le nombre de fonctions NOW() qu'il y a dans l'instruction SQL, l'heure obtenue est la même.

Les fonctions CURRENT_TIMESTAMP(), LOCALTIME(), LOCALTIMESTAMP() et NOW() sont les mêmes.

Mais SYSDATE est différent. Il obtient l'heure en temps réel lorsque la fonction SYSDATE() est exécutée :

SELECT SYSDATE(), SLEEP(3), SYSDATE();
Résultat de l'exécution :

SYSDATE()            sleep(3)   SYSDATE()
2017-11-09 17:25:05  0          2017-11-09 17:25:08

1.2, Obtenez la date locale actuelle

SELECT 
    CURDATE(), 
    CURRENT_DATE();

1.3, Obtenez l'heure locale actuelle

SELECT 
    CURTIME(), 
    CURRENT_TIME();

1.4, Obtenez l'heure locale actuelle Date et heure UTC

SELECT 
    UTC_TIMESTAMP();

1.5, obtenez la date UTC actuelle

SELECT 
    UTC_DATE();

1.6, obtenez l'heure UTC actuelle

SELECT 
    UTC_TIME();

1.7. Obtenir horodatage (secondes écoulées depuis 1970)

SELECT UNIX_TIMESTAMP();  -- 当前时间时间戳
SELECT UNIX_TIMESTAMP(&#39;2017-11-09 12:30:00&#39;);  -- 自1970年到2017-11-09 12:30:00经过的秒数

2. Heure opération


2.1. Extraire l'heure et la date de

String

SET @dt = &#39;2008-09-10 07:15:30.123456&#39;;
SELECT DATE(@dt);        -- 2008-09-10
SELECT TIME(@dt);        -- 07:15:30.123456
SELECT YEAR(@dt);        -- 2008
SELECT QUARTER(@dt);     -- 3
SELECT MONTH(@dt);       -- 9
SELECT WEEK(@dt);        -- 36
SELECT DAY(@dt);         -- 10
SELECT HOUR(@dt);        -- 7
SELECT MINUTE(@dt);      -- 15
SELECT SECOND(@dt);      -- 30
SELECT MICROSECOND(@dt); -- 123456

2.2. Obtenez la position d'un certain jour dans une semaine, un mois ou une année

SET @dt = &#39;2017-11-09&#39;;
SELECT DAYOFWEEK(@dt);   -- 5       星期日为0,5代表星期四
SELECT DAYOFMONTH(@dt);  -- 9       一个月的第9天
SELECT DAYOFYEAR(@dt);   -- 313     2017年的第313天

2.3 Obtenez le dernier jour de la date spécifiée

<.>
SELECT LAST_DAY(&#39;2017-02-05&#39;);   -- 2017-02-28
2.4. Ajouter et soustraire du temps

SET @dt = "2017-11-09 17:10:20.0000001";
SELECT DATE_ADD(@dt, INTERVAL 1 DAY);        -- 加1天
SELECT DATE_ADD(@dt, INTERVAL 2 HOUR);       -- 加2小时
SELECT DATE_ADD(@dt, INTERVAL 1 MINUTE);     -- 加1分钟
SELECT DATE_ADD(@dt, INTERVAL 1 SECOND);
SELECT DATE_ADD(@dt, INTERVAL 1 MICROSECOND); -- 加1微妙
SELECT DATE_ADD(@dt, INTERVAL 1 WEEK);        -- 加1周
SELECT DATE_ADD(@dt, INTERVAL 1 MONTH);
SELECT DATE_ADD(@dt, INTERVAL 1 QUARTER);     -- 加1个季度
SELECT DATE_ADD(@dt, INTERVAL 1 YEAR);
SELECT DATE_ADD(@dt, INTERVAL -1 DAY);       -- 减1天
2.5. Ajouter et soustraire deux dates et heures

SELECT DATEDIFF(&#39;2008-08-08&#39;, &#39;2008-08-01&#39;);  -- 7
SELECT DATEDIFF(&#39;2008-08-01&#39;, &#39;2008-08-08&#39;);  -- -7  第一个参数减去第二个参数
.
SELECT TIMEDIFF(&#39;2008-08-08 08:08:08&#39;, &#39;2008-08-08 00:00:00&#39;);  -- 08:08:08
SELECT TIMEDIFF(&#39;00:00:00&#39;, &#39;08:08:08&#39;);                        -- -08:08:08
2.6. Formatage de l'heure

SELECT DATE_FORMAT(&#39;2008-08-08 22:23:00&#39;, &#39;%W %M %Y&#39;);      -- Friday August 2008
SELECT DATE_FORMAT(&#39;2008-08-08 22:23:01&#39;, &#39;%Y%m%d%H%i%s&#39;);  -- 20080808222301
SELECT TIME_FORMAT(&#39;22:23:01&#39;, &#39;%H.%i.%s&#39;);                 -- 22.23.01
2.7. Deuxième calcul

Ce qui précède est tout le contenu de la date et de l'heure MySQL. J'espère qu'il pourra être utilisé par les étudiants. Apportons une nouvelle compréhension et une nouvelle inspiration
计算指定时间折合多少秒,如00:01:00表示1分钟,等于60秒。
SELECT TIME_TO_SEC(&#39;01:00:05&#39;);  -- 3605
SELECT SEC_TO_TIME(3605);        -- &#39;01:00:05&#39;

Recommandations associées :

MySQL. Tutoriel de base sur l'heure de requête

Méthodes et fonctions de requête d'heure et de date MySQL

La fonction d'heure MySQL utilise le code PHP pour la comparaison des différences de base de données MySQL

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn