Получить местный часовой пояс и преобразовать время БД в него - PullRequest
0 голосов
/ 24 января 2019

Я показываю время на внешнем интерфейсе, а время, хранящееся в БД, находится в форме CST. Пример 23:35:00. Я показываю это с помощью кода PHP ниже:

$formatedEventTime = "--";
 if($eventTime != ''){
 $formatedEventTime = date('h:i A', strtotime($eventTime));
}
//displays 11:35 PM

Теперь мне нужно узнать местное время для людей, просматривающих его в Нью-Йорке или Сан-Франциско, и показать их время в местном часовом поясе. Я не уверен, что будет лучшим подходом для этого, поскольку я могу использовать:

var d = new Date();
var n = d.getTimezoneOffset();
var timezone = n / -60;
console.log(timezone); 

Затем мне нужно преобразовать его в часы и выполнить сложение / вычитание на основе ответа. Есть ли лучший подход к этому?

<script> var localTimeZone = moment.tz.guess();
    //  console.log(localTimeZone);
  </script>
//as per comments I am using momentJS

Я могу печатать местную часовую зону, такую ​​как Америка / Чикаго, как мне использовать ее в моем PHP и отображать время на ее основе?

1 Ответ

0 голосов
/ 24 января 2019

JS содержит дату в формате UTC и отображает ее в соответствии с часовым поясом пользователя на своем устройстве. Поэтому один из способов - создать его с помощью eventTime в мс с эпохи (new Date($eventTime)).toLocaleString() (псевдокод).

Для чего-либо с сложением / вычитанием и т. Д. Я рекомендую moment.js library

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...