V tomto článku budeme diskutovat o možnosti, kterou máte v MySQL, převést úložiště času, jako jsou časová razítka a časová pásma, aby lépe vyhovovaly vašim místním potřebám. V mnoha případech možná budete muset převést časové razítko serveru na své vlastní místní časové pásmo, abyste mohli snáze procházet data.
Na sdílených serverech bude výchozí časové pásmo MySQL nastaveno na pobřeží, na kterém se server nachází, takže pokud váš server začíná na (ecbiz), bylo by to na východním pobřeží a jako časové pásmo by se použilo EST. Pokud váš sdílený server jednoduše začíná na (biz), pak by to bylo na západním pobřeží s použitím časového pásma PST. Pokud používáte VPS (Virtual Private Server) nebo plán hostování dedikovaného serveru, můžete si také přečíst o tom, jak změnit časové pásmo serveru MySQL.
Níže uvedené kroky vás provedou ukázkovou databází, kterou jsem nastavil a která má jednoduše 2 databázové záznamy s určitými časovými razítky. Projdeme si několik možností, kdy musíte časová razítka za běhu upravit, abyste získali správné časové razítko, které chcete.
- Přihlaste se do svého cPanelu.
- V části Databáze klikněte na phpMyAdmin .
- V nabídce vlevo klikněte na název databáze, v našem příkladu používáme userna1_time .
- Poté klikněte na Procházet vedle stolu, na který se chcete podívat.
- U výchozího dotazu byste měli vidět, že jednoduše provádíme SELECT * FROM ‘čas’ , která by měla vrátit všechny položky, které mají hodnotu v poli Čas sloupec.
- Poté můžete kliknout na Upravit odkaz pod dotazem pro úpravu dotazu v novém vyskakovacím okně.
- Dotaz můžete upravit tak, aby změnil časová razítka našich dat z EST (GMT -05:00 ) na CST (GMT -06:00 ) pomocí MySQL CONVERT_TZ příkaz:.
SELECT CONVERT_TZ(Time, '-05:00', '-06:00'), Data FROM `time`
Měli jste si všimnout, že obě naše časová razítka byla upravena od 11:00:00 až do 10:00:00 , což ukazuje, že náš příkaz pro převod časového pásma byl úspěšný.
- Můžete také použít příkazy MySQL DATE_ADD a DATE_SUB také přidat nebo odečíst hodiny:
SELECT DATE_ADD(Time, INTERVAL 1 HOUR), Data FROM `time`
SELECT DATE_SUB(Time, INTERVAL 1 HOUR), Data FROM `time`
Nyní byste měli pochopit, jak můžete změnit nebo převést časová razítka uložená v MySQL z jednoho časového pásma do druhého, abyste mohli snáze pracovat se svými daty.