В MySQL можете да използвате UTC_TIMESTAMP
функция за връщане на UTC дата и час. UTC означава координирано универсално време и е основният стандарт за време, чрез който светът регулира часовниците и времето.
Резултатът от тази функция се връща или в „ГГГГ-ММ-ДД ЧЧ:ММ:СС“ или ГГГГММДДХММСС формат, в зависимост от това дали се използва в низов или числов контекст.
Синтаксис
Можете да използвате една от следните две форми:
UTC_TIMESTAMP UTC_TIMESTAMP([fsp])
Където fsp
е незадължителен аргумент, който посочва точността на дробни секунди, която да се използва в резултата.
Пример 1 – Основна употреба
Ето пример за демонстрация.
SELECT UTC_TIMESTAMP;
Резултат:
+---------------------+ | UTC_TIMESTAMP | +---------------------+ | 2018-07-06 04:49:11 | +---------------------+
Пример 2 – Със скоби
В този пример добавям скоби (това няма разлика в резултата).
SELECT UTC_TIMESTAMP();
Резултат:
+---------------------+ | UTC_TIMESTAMP() | +---------------------+ | 2018-07-06 04:49:30 | +---------------------+
Пример 3 – Прецизност на дробни секунди
Тук добавям аргумент, който определя използваната точност на дробни секунди. В този случай използвам 6
, което означава, че резултатът ще бъде с точност до милисекунда.
SELECT UTC_TIMESTAMP(6);
Резултат:
+----------------------------+ | UTC_TIMESTAMP(6) | +----------------------------+ | 2018-07-06 04:49:49.754432 | +----------------------------+
И в следващия пример използвам 3
за намаляване на точността на частични секунди:
SELECT UTC_TIMESTAMP(3);
Резултат:
+-------------------------+ | UTC_TIMESTAMP(3) | +-------------------------+ | 2018-07-06 04:50:05.489 | +-------------------------+
Пример 4 – Числовен контекст
Всички предишни примери бяха върнати в „HH:MM:SS“ формат. Това е така, защото са били използвани в низов контекст.
В този пример използвам функцията в числов контекст. Правя това, като добавям число към функцията.
SELECT UTC_TIMESTAMP() + 0;
Резултат:
+---------------------+ | UTC_TIMESTAMP() + 0 | +---------------------+ | 20180706045026 | +---------------------+
В този случай добавих нула, така че резултатът сега е в HHMMSS формат.
Нищо не ви пречи да добавите още един номер. Пример:
SELECT UTC_TIMESTAMP() + 0, UTC_TIMESTAMP() + 5;
Резултат:
+---------------------+---------------------+ | UTC_TIMESTAMP() + 0 | UTC_TIMESTAMP() + 5 | +---------------------+---------------------+ | 20180706045044 | 20180706045049 | +---------------------+---------------------+
Вижте също UTC_DATE
Примери за връщане на UTC дата и UTC_TIME
Примери за връщане на UTC времето.