Різниці між обробкою часового поясу дати


9

Існує кілька варіантів обробки часового поясу, часовий пояс сайту, час дати, часовий пояс користувача, UTC та перетворення часового поясу. Які відмінності між ними?

Один з випадків - це телевізійна трансляція, де всі люди світу переживали б одночасно. Чи правильно використовуватиме часовий пояс Користувача? Якби мовник поставив 8:00 вечора, живучи в Нью-Йорку, хтось із Каліфорнії пережив би це о 17:00.

Або, у випадку, в Нью-Йорку відбувається поетичний шлем, і кожен, хто хоче його випробувати, повинен буде фізично бути там о 20:00, тобто це може статися о 17:00 в Каліфорнії, але це не має значення для людина в Каліфорнії. Що важливо, це те, що вони знаходяться у 20:00 в Нью-Йорку, тому час не повинен змінюватися незалежно від того, де знаходиться користувач або в який часовий пояс відбувається поетичний шлам.

Відповіді:


13

Сторінка документації модуля Date досить добре описує різницю між 5 варіантами.

З цієї сторінки:

Існує 5 різних варіантів обробки польових часових поясів:

  1. Часовий пояс сайту - при введенні даних у поле прийняті дані входять у часовий пояс сайту. Коли дані зберігаються в базі даних, вони перетворюються на UTC. Після отримання даних із бази даних дані перетворюються у часовий пояс Сайта для анонімних користувачів або у часовий пояс Користувача для входу в систему, коли ввімкнено часові пояси, налаштовані користувачем.
  2. Часовий пояс дати - Якщо ця опція включена, у поле дати додається поле вибору, щоб чітко вказати часовий пояс для введеної дати. Коли дата зберігається в базі даних, вона не перетворюється і інформація часового поясу зберігається разом із датою. При отриманні з бази даних перетворення не проводиться, а дата відображається точно так, як введено.
  3. Часовий пояс користувача - при введенні даних у поле вважається, що введені дані знаходяться у часовому поясі користувача. Коли дані зберігаються в базі даних, вони перетворюються на UTC. Після отримання даних із бази даних дані перетворюються у часовий пояс Сайта для анонімних користувачів або у часовий пояс Користувача для входу в систему, коли ввімкнено часові пояси, налаштовані користувачем.
  4. UTC - При введенні даних у поле вважається, що введені дані знаходяться у часовому поясі UTC. Коли дані зберігаються в базі даних, вони перетворюються на UTC (наприклад, перетворення не потрібно). Після отримання даних із бази даних дані перетворюються у часовий пояс Сайта для анонімних користувачів або у часовий пояс Користувача для входу в систему, коли ввімкнено часові пояси, налаштовані користувачем.
  5. Перетворення часового поясу - введена дата не перетворюється, коли зберігається в базі даних. При отриманні з бази даних дані НЕ перетворюються і відображаються точно так, як введено.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.