centos6 — PHP, CentOS 6.5 — как сделать время точным?

У меня есть CentOS и его время установлено в Бельгии.

# cat /etc/redhat-release
CentOS release 6.5 (Final)
# php --version
PHP 5.3.3 (cli) (built: Oct 30 2014 20:12:53)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
# ntpdate be.pool.ntp.org

Теперь у меня есть пользователь, который приходит на этот сайт из:

United States
United Kingdom
Japan
Australia
UAE

Когда они открывают мою страницу, они все видят неправильное время (показывает время Бельгии)

test.php:

echo date('Y-m-d H:i:s');

Как я могу показать им ntpdate be.pool.ntp.org например, точное точное время зоны страны, а также автоматическая настройка, когда время меняется на 1 час +/- (вместо этого отображается время сервера по умолчанию)?

1

Решение

Лучше всего, если приложение работает в UTC. Если вы храните какие-либо даты, храните их также в UTC. Это позволит вам рассчитать местное время из часового пояса пользователя, используя JavaScript. Вы можете использовать такую ​​библиотеку, как moment.js, чтобы сделать это для вас:

http://momentjs.com/timezone/

Если вы просто отображаете текущее время, используйте только JavaScript.

<script>
var date = new Date();
document.getElementById("date-time").innerHTML = date.toDateString();
</script>

Это простейшее решение проблемы, поскольку PHP не знает о часовом поясе клиента, а JavaScript работает так же, как и в браузере.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector