В настоящее время я добавляю поддержку интернационализации в систему, написанную на PHP. Все даты теперь хранятся в формате UTC и отображаются в соответствии с индивидуальными настройками локализации пользователя.
Однако, когда пользователь вводит время даты (например, чтобы указать определенное временное окно), введенное ими время даты интерпретируется как время в формате UTC, а не как местное время. Чтобы завершить интернационализацию, система должна предположить, что введенное пользователем время и дата относятся к их местному времени.
Как мне преобразовать строку даты (то есть «ГГГГ-ММ-ДД ЧЧ: ММ») в метку времени Unix для правильной локализации?
- Дальнейшее уточнение -
Все даты в базе данных = метки времени UTC
Все HTML-страницы отображают местное время пользователей (как определено в их настройках)
HTML-форма имеет дату, которая по умолчанию соответствует текущему местному времени
PHP должен обрабатывать это время как локальное, а не UTC
PHP должен преобразовать эту локальную дату в UTC