У меня есть приложение, которое должно хранить сроки выполнения. Поэтому, если Боб в Великобритании создает задачу и говорит, что она должна быть выполнена 20 февраля, я хочу, чтобы она отображалась как 20 февраля в календаре независимо от часовых поясов других пользователей.
Хранение его в формате UTC как DATETIME
в MySQL создает проблему, заключающуюся в том, что если Боб создал задачу в час ночи 20 февраля, то Джейн в Калифорнии увидит, что задача должна быть выполнена 19 февраля.
Поэтому моя другая мысль - сохранить его как DATE
, но я не смог найти никакой литературы о том, как DATE
зависит от TimeZone.
Итак, мой вопрос: если мое приложение - PHP, а мое хранилище - MYSQL, и я хочу реализовать календари, в которых хранятся только даты, а не дата/время, и я хочу, чтобы события отображались как определенная дата во всем мире, как мне это сделать?
Помимо моих конкретных потребностей, мне также любопытно, как другие люди реализуют события, связанные с датой (вы просто позволяете дате быть разной в календарях разных пользователей?) - Например, как Google Calendar/Outlook обрабатывает «события на весь день»?