Как настроить часовой пояс xampp mysql и apache?

Я использую серверы XAMPP – PHP и MYSQL. Когда я попытался использовать следующий –

getRates(date('Ym-d')); function getRates($cDate) { $query = "SELECT * FROM randa WHERE date like '$cDate'" //it only worked at times. } ?> 

Тогда я понял, что дата («Ym-d») не возвращает правильную дату. Пошел в php.ini и изменил часовой пояс. И все еще возвращает неправильную дату.

Как я могу это исправить ? спасибо

Попробуй это

1) В httpd.conf (\ xampp \ apache \ conf \ httpd.conf) добавьте следующую строку:

 SetEnv TZ Europe/Moscow 

2) Измените значение php.ini (\ xampp \ php \ php.ini) date.timezone в разделе [Дата]:

 date.timezone = "Europe/Moscow" 

3) В my.ini (\ xampp \ mysql \ bin \ my.ini) добавьте или замените

 default-time-zone = "Europe/Moscow" 

Перезапуск Apache и MySQL

Добавьте этот код на свою верхнюю страницу.

 date_default_timezone_set('America/Los_Angeles'); 

Найдите свою страну здесь http://php.net/manual/en/timezones.php

Решенный: но чувствую себя глупо.

моя локальная машина имела правильное время, однако часовой пояс был неправильным. Изменен часовой пояс, и он сработал. Однако я не понимаю, почему. Время БЫЛО ПРАВИЛЬНО. Зоны не было.

MySQL хранит дату и время как [yyyy-mm-dd hh: mm: ss] в часовом поясе UTC. Ваше поле в db может быть настроено неправильно, но может помочь, если вы разместите его параметры. Вам не нужно изменять настройки в файлах conf или php.ini. Я подозреваю, что разница между UTC и вашим часовым поясом делает запрос неудачным в определенное время дня, потому что временная метка UTC перешла на следующий день. Возможно, вам придется компенсировать дату до подачи запроса, добавив (или вычитая) правильное количество времени, чтобы дату и время совпадали с UTC. Что-то вроде этого: getRates (дата («Ymd h: i: sa», (yourtimestamp + (7 * 60 * 60)))); Или объявите часовой пояс перед запросом: date_default_timezone_set («America / New_York»);