Mysql - Odejmowanie daty i czasu w formacie timestamp
Mysql'owy timestamp jest odpowiednikiem unix time (POSIX time, Epoch time). Unix time jest to czas mierzony w sekundach od 1970 roku UTC. Gdzie rok 1970 uznaje się za początek epoki UNIX'a, można powiedzieć również że Lonux'a. Chodź Linux to inny system ale powstał na bazie UNIX'a.
Wracając do MySql'a, aby odjąć datę od teraz należy użyć funkcji: DATE_SUB(). Aby zamienić ją na timestamp, należy użyć funkcji UNIX_TIMESTAMP
DATE_SUB(obecna_data, wyrażenie).
UNIX_TIMESTAMP(DATE_SUB(obecna_data, wyrażenie)).
Na przykład:
Data wejściowa według której będą robione wyliczenia to: 2014-09-11 14:08:16 czyli 1410437296
Odejmowanie 1 minuty od dzisiejszej daty
Odejmowanie 1 godziny od dzisiejszej daty
Odejmowanie 7 dni od dzisiejszej daty
Odejmowanie pół roku (6 miesięcy) od dzisiejszej daty
Więcej szczegółów na temat funkcji DATE_SUB
Wracając do MySql'a, aby odjąć datę od teraz należy użyć funkcji: DATE_SUB(). Aby zamienić ją na timestamp, należy użyć funkcji UNIX_TIMESTAMP
DATE_SUB(obecna_data, wyrażenie).
UNIX_TIMESTAMP(DATE_SUB(obecna_data, wyrażenie)).
Na przykład:
Data wejściowa według której będą robione wyliczenia to: 2014-09-11 14:08:16 czyli 1410437296
Odejmowanie 1 minuty od dzisiejszej daty
SELECT UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 1 MINUTE)); >1410437236
Odejmowanie 1 godziny od dzisiejszej daty
SELECT UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 1 HOUR)); >1410433696
Odejmowanie 7 dni od dzisiejszej daty
SELECT UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 7 day)); >1409832496
Odejmowanie pół roku (6 miesięcy) od dzisiejszej daty
SELECT UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 6 MONTH)); >1394543296
Więcej szczegółów na temat funkcji DATE_SUB
Dział: