У меня есть 2 магазина в разных странах (скажем, в США и Японии)
И пользователь, использующий мое приложение в Германии GMT + 2
Два магазина дают мне даты заказа в соответствии с его часовым поясом
Магазин в США расположен в Лос-Анджелесе по Гринвичу -7. Магазин в ЯПОНИИ находится в Токио по Гринвичу + 9
Предположим, что два заказа проданы одновременно
Я хочу показывать пользователям заказы в порядке, соответствующем немецкому часовому поясу
Мой вопрос заключается в том, как хранить даты заказов в mysql (timestamp (int) или datetime) и как я могу преобразовать эти даты в часовой пояс пользователя
- Изменить -
для тех, кто хочет конвертировать метки времени в дату / время с часовыми поясами
$timestamp = 1554280893 ;
$datetimeFormat = 'Y-m-d H:i:s';
$date = new DateTime("America/New_York");
$date->setTimestamp($timestamp);
$utc=new DateTime($date->format($datetimeFormat),new DateTimeZone("America/New_York"));
$utc->setTimezone(new DateTimeZone("UTC"));
echo $utc->format("Y-m-d H:i:s");
Я конвертирую все метки времени в формат UTC и сохраняюв дБЗатем я упорядочиваю все данные в зависимости от часового пояса пользователя, используя функцию CONVERT_TZ () Mysql