PHP: конвертировать понедельник в этом часовом поясе в UTC - PullRequest
0 голосов
/ 20 февраля 2012

Я создаю приложение, которое выбирает все записи, сделанные пользователем "на этой неделе" (в их часовом поясе).Я храню все времена входа в базе данных как время UTC / GMT, используя:

gmdate('U')

Моя проблема возникает, когда мне нужно выбрать "эту неделю" в их часовом поясе.Прежде, чем я учел часовые пояса, я использовал ...

$startWeek = strtotime('monday this week 00:00')
$endWeek = strtotime('sunday this week 00:00')

... и использовал инструкцию SQL, которая искала МЕЖДУ этими двумя переменными.

Проблема в том, что эти две переменные используют время сервера, поэтому оно дает серверам начало и конец недели.

У меня есть доступ к часовому поясу пользователя (например, Австралия / Мельбурн) в файле cookie, если необходимо.

Итог, как мне получить начало и конец недели в формате временной метки в часовом поясе, который я сохранил в файле cookie?

Ответы [ 2 ]

0 голосов
/ 20 февраля 2012

Если вы установили PHP на полпути, это будет сделано:

0 голосов
/ 20 февраля 2012

Я думаю, date_default_timezone_set функция соответствует вашему требованию:

http://www.php.net/manual/en/function.date-default-timezone-set.php

Вам нужно получить часовой пояс у пользователя, а затем вызвать функцию с ним. Исходя из часового пояса, должен работать следующий фрагмент:

date_default_timezone_set('Melbourne/Australia');
...