Как конвертировать в UTC - PullRequest
4 голосов
/ 14 июля 2010

Я получаю дату и время из различных источников (например, дату / время файла с FTP-сервера, дату / время получения электронной почты и т. Д.), И мне необходимо сохранить их все как UTC (чтобы у них всех была общая ссылка). Как мне это сделать? Какая информация мне нужна, чтобы правильно выполнить преобразование.

Это для веб-приложения PHP. Итак, я могу узнать часовой пояс моего сервера. Я не уверен, что делать дальше. Вот несколько примеров входных данных:

  1. Пн, 28 июня 2010 12:39:52 + 1200
  2. 2010-06-25 15: 33: 00

Ответы [ 2 ]

3 голосов
/ 14 июля 2010

Для первого случая это смещение, поэтому оно должно быть тривиальным, однако второй пример будет рассматриваться как UTC (или любой другой часовой пояс по умолчанию). Вот что я предлагаю:

date_default_timezone_set('UTC'); // set default timezone

$one = strtotime('Mon, 28 Jun 2010 12:39:52 +1200');
$two = strtotime('2010-06-25 15:33:00'); // Already UTC? Must be...

$one и $two будут содержать временные метки соответствующего времени, преобразованные в часовой пояс UTC.

3 голосов
/ 14 июля 2010

Вы можете использовать strtotime(), чтобы преобразовать любой формат времени, который у вас есть, в метку времени, а затем использовать любую функцию, вероятно, date(), чтобы поместить ее в формат, в котором вы хотите, чтобы все было сохранено.

...