W MySQL możesz użyć UNIX_TIMESTAMP()
funkcja zwracająca uniksowy znacznik czasu. Sygnatura czasowa systemu Unix to liczba sekund, które upłynęły od „1970-01-01 00:00:00” UTC.
Możesz użyć tej funkcji, aby zwrócić uniksowy znacznik czasu na podstawie bieżącej daty/czasu lub innej określonej daty/czasu.
Składnia
Możesz użyć dowolnego z następujących formularzy:
UNIX_TIMESTAMP() UNIX_TIMESTAMP(date)
(Opcjonalnie) date
argument pozwala określić datę, dla której należy obliczyć uniksowy znacznik czasu. Jeśli podano, funkcja zwraca wartość argumentu w sekundach od „1970-01-01 00:00:00” UTC.
date
argumentem może być data , data i godzina lub sygnatura czasowa ciąg znaków lub liczba w formacie RRMMDD, RRMMDDGGMMSS, RRRRMMDD lub RRRRMMDDDHHMMSS.
Zwracana wartość to liczba całkowita jeśli nie podano argumentu lub argument nie zawiera części ułamkowej sekundy lub dziesiętny jeśli podano argument zawierający część ułamkową sekundy.
Przykład 1 – Korzystanie z bieżącej daty/godziny
Ten przykład wykorzystuje bieżącą datę i godzinę do utworzenia uniksowego znacznika czasu.
SELECT UNIX_TIMESTAMP();
Wynik:
+------------------+ | UNIX_TIMESTAMP() | +------------------+ | 1530054626 | +------------------+
Tyle sekund upłynęło od 00:00:00 uniwersalnego czasu koordynowanego (UTC), czwartek, 1 stycznia 1970 r., do momentu uruchomienia tego zapytania.
Przykład 2 – Określ datę
W tym przykładzie podaję datę, dla której należy obliczyć uniksowy znacznik czasu.
SELECT UNIX_TIMESTAMP('1970-01-02') As Result;
Wynik:
+--------+ | Result | +--------+ | 50400 | +--------+
Przykład 3 – Określ wartość daty i godziny
W tym przykładzie podaję wartość daty i godziny.
SELECT UNIX_TIMESTAMP('2021-11-27 12:35:03') AS Result;
Wynik:
+------------+ | Result | +------------+ | 1637980503 | +------------+
Przykład 4 – ułamki sekund
Jak wspomniano, jeśli podasz część ułamkową sekund, zwróconą wartością będzie dziesiętny wartość (w przeciwieństwie do liczby całkowitej dla poprzednich przykładów).
Oto przykład.
SELECT UNIX_TIMESTAMP('2021-11-27 12:35:03.123456') AS Result;
Wynik:
+-------------------+ | Result | +-------------------+ | 1637980503.123456 | +-------------------+