sql >> Databasteknik >  >> RDS >> Mysql

Hur man konverterar MySQL-tid

I den här artikeln kommer vi att diskutera möjligheten du har inom MySQL att konvertera tidslagring såsom tidsstämplar och tidszoner för att bättre möta dina lokala behov. I många fall kan du behöva konvertera serverns tidsstämpel till din egen lokala tidszon så att du lättare kan gå igenom data.

På delade servrar kommer MySQL-standardtidszonen att ställas in på kusten som servern ligger på, så om din server startar med en (ecbiz) skulle denna vara på östkusten och använda EST som tidszon. Om din delade server helt enkelt börjar med (biz) så skulle detta vara på västkusten med PST-tidszonen. Om du använder en VPS (Virtual Private Server) eller en dedikerad serverhostingplan kan du också läsa om hur du ändrar MySQL-serverns tidszon.

Stegen nedan kommer att leda dig genom en exempeldatabas som jag har skapat som helt enkelt har 2 databasposter med några tidsstämplar. Vi kommer att gå igenom några alternativ som du måste justera tidsstämplarna i farten för att hämta rätt tidsstämpel som du vill ha.

  1. Logga in på din cPanel.
  2. Under Databaser klicka på phpMyAdmin .

  3. Klicka på ditt databasnamn i menyn till vänster, i vårt exempel använder vi userna1_time .

  4. Klicka sedan på Bläddra bredvid bordet du vill titta på.

  5. Du bör se med standardfrågan att vi helt enkelt gör en VÄLJ * FRÅN "tid" , som ska returnera alla poster som har ett värde i Tid kolumn.

  6. Du kan sedan klicka på Redigera länken under frågan för att justera frågan i ett nytt popup-fönster.

  7. Du kan justera frågan för att ändra tidsstämplarna för våra data från EST (GMT -05:00 ) till CST (GMT -06:00 ) med MySQL CONVERT_TZ kommando:.
    SELECT CONVERT_TZ(Time, '-05:00', '-06:00'), Data FROM `time`

    Du borde ha märkt att båda våra tidsstämplar justerades från 11:00:00 ner till 10:00:00 , vilket visar att vårt tidszonomvandlingskommando lyckades.

  8. Du kan också använda MySQL-kommandona DATE_ADD och DATE_SUB för att lägga till eller subtrahera timmar också:

    SELECT DATE_ADD(Time, INTERVAL 1 HOUR), Data FROM `time`

    SELECT DATE_SUB(Time, INTERVAL 1 HOUR), Data FROM `time`

Du bör nu förstå hur du kan ändra eller konvertera MySQL-lagrade tidsstämplar från en tidszon till en annan så att du lättare kan arbeta med din data.


  1. Hur vet man vad ett bra index är?

  2. Running Total by Group SQL (Oracle)

  3. Prestanda överraskningar och antaganden:DATEADD

  4. Vilka är de olika sätten att infoga data i SQL Server Table - SQL Server / TSQL Tutorial Del 100