MySQL FROM_UNIXTIME()
Funkce vám umožňuje vrátit reprezentaci data unixového časového razítka.
Přesněji řečeno, vrátí časové razítko Unix jako hodnotu v ‘RRRR-MM-DD HH:MM:SS‘ nebo RRRRMMDDHHMMSS formát, v závislosti na tom, zda je funkce použita v řetězcovém nebo číselném kontextu.
Syntaxe
Můžete použít kterýkoli z následujících dvou formulářů:
FROM_UNIXTIME(unix_timestamp) FROM_UNIXTIME(unix_timestamp,format)
unix_timestamp
argument je hodnota interního časového razítka (to může být například vytvořeno pomocí UNIX_TIMESTAMP()
funkce).
(volitelný) format
argument umožňuje určit, jak má být výsledek formátován. Platné formáty naleznete v tabulce ve spodní části tohoto článku.
Příklad 1 – Základní použití
Zde je příklad demonstrující první formu syntaxe.
SELECT FROM_UNIXTIME(946562400) AS Result;
Výsledek:
+---------------------+ | Result | +---------------------+ | 1999-12-31 00:00:00 | +---------------------+
Příklad 2 – zlomky sekund
V tomto příkladu uvádím argument, který zahrnuje zlomky sekund.
SELECT FROM_UNIXTIME(946609199.999999) AS Result;
Výsledek:
+----------------------------+ | Result | +----------------------------+ | 1999-12-31 12:59:59.999999 | +----------------------------+
Příklad 3 – Formátování výsledku
V tomto příkladu uvádím druhý argument, který určuje, jak má být výsledek formátován.
SELECT FROM_UNIXTIME(946562400, '%W, %D %M %Y') AS Result;
Výsledek:
+----------------------------+ | Result | +----------------------------+ | Friday, 31st December 1999 | +----------------------------+
A tady je jeden, který zahrnuje časovou část ve formátování:
SELECT FROM_UNIXTIME(946609199, '%h:%i %p, %D %M %Y') AS Result;
Výsledek:
+------------------------------+ | Result | +------------------------------+ | 12:59 PM, 31st December 1999 | +------------------------------+
Příklad 4 – Číselný kontext
Pokud FROM_UNIXTIME()
se používá v číselném kontextu, výsledné datum je uvedeno v číselném formátu.
Zde je příklad, který porovnává výsledky při použití v řetězcovém kontextu s numerickým.
SELECT FROM_UNIXTIME(946562400) As 'String', FROM_UNIXTIME(946562400) + 0 As 'Numeric';
Výsledek:
+---------------------+----------------+ | String | Numeric | +---------------------+----------------+ | 1999-12-31 00:00:00 | 19991231000000 | +---------------------+----------------+
Dostupné specifikace
Následující specifikátory lze použít k určení návratového formátu. Hodnota formátu musí začínat znakem procenta (%
).
Specifikátor | Popis |
---|---|
%a | Zkrácený název dne v týdnu (Sun ..Sat ) |
%b | Zkrácený název měsíce (Jan ..Dec ) |
%c | Měsíc, numerický (0 ..12 ) |
%D | Den v měsíci s anglickou příponou (0th , 1st , 2nd , 3rd , …) |
%d | Den v měsíci, číselný údaj (00 ..31 ) |
%e | Den v měsíci, číselný údaj (0 ..31 ) |
%f | Mikrosekundy (000000 ..999999 ) |
%H | Hodina (00 ..23 ) |
%h | Hodina (01 ..12 ) |
%I | Hodina (01 ..12 ) |
%i | Minuty, číselné (00 ..59 ) |
%j | Den v roce (001 ..366 ) |
%k | Hodina (0 ..23 ) |
%l | Hodina (1 ..12 ) |
%M | Název měsíce (January ..December ) |
%m | Měsíc, numerický (00 ..12 ) |
%p | AM nebo PM |
%r | Čas, 12 hodin (hh:mm:ss následuje AM nebo PM ) |
%S | Sekundy (00 ..59 ) |
%s | Sekundy (00 ..59 ) |
%T | Čas, 24 hodin (hh:mm:ss ) |
%U | Týden (00 ..53 ), kde neděle je prvním dnem v týdnu; WEEK() režim 0 |
%u | Týden (00 ..53 ), kde pondělí je první den v týdnu; WEEK() režim 1 |
%V | Týden (01 ..53 ), kde neděle je prvním dnem v týdnu; WEEK() režim 2; používá se s %X |
%v | Týden (01 ..53 ), kde pondělí je první den v týdnu; WEEK() režim 3; používá se s %x |
%W | Název dne v týdnu (Sunday ..Saturday ) |
%w | Den v týdnu (0 =Neděle..6 =Sobota) |
%X | Rok pro týden, kde neděle je prvním dnem v týdnu, číslice, čtyři číslice; používá se s %V |
%x | Rok pro týden, kde pondělí je první den v týdnu, číselné, čtyři číslice; používá se s %v |
%Y | Rok, číslice, čtyři číslice |
%y | Rok, číselný (dvě číslice) |
%% | Doslovné % postava |
% | x , pro jakékoli „x ” není uvedeno výše |