MySQL FROM_UNIXTIME()
funkcja umożliwia zwrócenie reprezentacji daty uniksowego znacznika czasu.
Mówiąc dokładniej, zwraca uniksowy znacznik czasu jako wartość w „RRRR-MM-DD GG:MM:SS” lub RRRRMMDDGGMMSS format, w zależności od tego, czy funkcja jest używana w kontekście łańcuchowym czy liczbowym.
Składnia
Możesz użyć jednej z dwóch następujących form:
FROM_UNIXTIME(unix_timestamp) FROM_UNIXTIME(unix_timestamp,format)
unix_timestamp
argument jest wewnętrzną wartością sygnatury czasowej (na przykład może być wygenerowana za pomocą UNIX_TIMESTAMP()
funkcja).
(Opcjonalnie) format
argument pozwala określić sposób formatowania wyniku. Sprawdź w tabeli na dole tego artykułu prawidłowe formaty.
Przykład 1 – Podstawowe użycie
Oto przykład demonstrujący pierwszą formę składni.
SELECT FROM_UNIXTIME(946562400) AS Result;
Wynik:
+---------------------+ | Result | +---------------------+ | 1999-12-31 00:00:00 | +---------------------+
Przykład 2 – ułamki sekund
W tym przykładzie przedstawiam argument zawierający ułamki sekund.
SELECT FROM_UNIXTIME(946609199.999999) AS Result;
Wynik:
+----------------------------+ | Result | +----------------------------+ | 1999-12-31 12:59:59.999999 | +----------------------------+
Przykład 3 – Formatowanie wyniku
W tym przykładzie podaję drugi argument, który określa sposób formatowania wyniku.
SELECT FROM_UNIXTIME(946562400, '%W, %D %M %Y') AS Result;
Wynik:
+----------------------------+ | Result | +----------------------------+ | Friday, 31st December 1999 | +----------------------------+
A oto jeden, który zawiera część czasu w formatowaniu:
SELECT FROM_UNIXTIME(946609199, '%h:%i %p, %D %M %Y') AS Result;
Wynik:
+------------------------------+ | Result | +------------------------------+ | 12:59 PM, 31st December 1999 | +------------------------------+
Przykład 4 – Kontekst numeryczny
Jeśli FROM_UNIXTIME()
jest używany w kontekście numerycznym, wynikowa data jest podana w formacie numerycznym.
Oto przykład, który porównuje wyniki użyte w kontekście łańcuchowym z liczbowym.
SELECT FROM_UNIXTIME(946562400) As 'String', FROM_UNIXTIME(946562400) + 0 As 'Numeric';
Wynik:
+---------------------+----------------+ | String | Numeric | +---------------------+----------------+ | 1999-12-31 00:00:00 | 19991231000000 | +---------------------+----------------+
Dostępne specyfikatory
Poniższe specyfikatory mogą służyć do określenia formatu zwracanego. Wartość formatu musi zaczynać się od znaku procentu (%
).
Specyfikator | Opis |
---|---|
%a | Skrócona nazwa dnia tygodnia (Sun ..Sat ) |
%b | Skrócona nazwa miesiąca (Jan ..Dec ) |
%c | Miesiąc, numeryczny (0th ..12 ) |
%D | Dzień miesiąca z angielskim sufiksem (0th , 1st , 2nd , 3rd , …) |
%d | Dzień miesiąca, numeryczny (00 ..31 ) |
%e | Dzień miesiąca, numeryczny (0th ..31 ) |
%f | Mikrosekundy (000000 ..999999 ) |
%H | Godzina (00 ..23 ) |
%h | Godzina (01 ..12 ) |
%I | Godzina (01 ..12 ) |
%i | Minuty, numeryczne (00 ..59 ) |
%j | Dzień roku (001 ..366 ) |
%k | Godzina (0th ..23 ) |
%l | Godzina (1 ..12 ) |
%M | Nazwa miesiąca (January ..December ) |
%m | Miesiąc, numerycznie (00 ..12 ) |
%p | AM lub PM |
%r | Czas, 12 godzin (hh:mm:ss po którym następuje AM lub PM ) |
%S | Sekundy (00 ..59 ) |
%s | Sekundy (00 ..59 ) |
%T | Czas, 24 godziny (hh:mm:ss ) |
%U | Tydzień (00 ..53 ), gdzie niedziela jest pierwszym dniem tygodnia; WEEK() tryb 0 |
%u | Tydzień (00 ..53 ), gdzie poniedziałek to pierwszy dzień tygodnia; WEEK() tryb 1 |
%V | Tydzień (01 ..53 ), gdzie niedziela jest pierwszym dniem tygodnia; WEEK() tryb 2; używane z %X |
%v | Tydzień (01 ..53 ), gdzie poniedziałek to pierwszy dzień tygodnia; WEEK() tryb 3; używane z %x |
%W | Nazwa dnia tygodnia (Sunday ..Saturday ) |
%w | Dzień tygodnia (0th =Niedziela...6 =Sobota) |
%X | Rok tygodnia, w którym niedziela jest pierwszym dniem tygodnia, numeryczna, cztery cyfry; używane z %V |
%x | Rok tygodnia, gdzie poniedziałek to pierwszy dzień tygodnia, numeryczny, cztery cyfry; używane z %v |
%Y | Rok, numerycznie, cztery cyfry |
%y | Rok, numeryczny (dwie cyfry) |
%% | Dosłowny % znak |
% | x , dla każdego „x ” nie wymienione powyżej |