Mysql
 sql >> база данни >  >> RDS >> Mysql

Специфична за часовата зона функция „Отвори сега“.

  1. Прочетете за поддръжка на часови зони в MySQL и се уверете, че вашата база данни mysql е конфигурирана с текущите таблици на часовите зони. Актуализирайте редовно.

  2. Свържете всяко местоположение с наименована часова зона на IANA/Olson, като например "America/Los_Angeles" , или "Europe/London" . Вижте списъка тук . Ако имате ширина/дължина, можете да търсите часовата зона чрез един от тези методи .

  3. Използвайте MySQL CONVERT_TZ функция за преобразуване на текущото UTC време в конкретната зона. Например CONVERT_TZ(UTC_TIMESTAMP(),'UTC','Asia/Tokyo')

  4. Използвайте деня от седмицата и часа на конвертирания време за проверка спрямо деня и обхвата в записа на местоположението.

Също така, имайте предвид, че други може да предложат подход за съхраняване само на UTC в базата данни или на конвертиране на всички стойности в UTC, преди да се сравнят със стойността "сега". Всеки от тези подходи може да се провали в крайни случаи, тъй като UTC денят от седмицата не е непременно същият ден от седмицата като във всяка часова зона.

Един друг подход, който ще работа, но изисква повече усилия, е предварително да се определят конкретните начални и крайни часове по UTC за известен период от време в бъдеще (поне до следващия, но може би по-нататък). След това можете да сканирате този списък с UTC времето. Това работи по-добре в мащаб, когато имате хиляди или повече отделни записи за проверка. Но в по-малки мащаби обикновено не си струва режийните разходи.

По същия начин бихте могли да имате фонов процес, който просто задава флаг „сега отворен“ на всеки запис, но той трябва постоянно да работи с вашата база данни и никога не бихте могли да проверявате за други времена освен „сега“.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Python:Как да получа време от обект datetime.timedelta?

  2. MySQL:InnoDb:Чакането на семафора е продължило> 600 секунди. Ние умишлено сриваме сървъра

  3. разделяне на ключови думи за post php mysql

  4. Сортиране на масиви по дата

  5. Ръководство за проектиране на база данни за онлайн пазарска количка в MySQL