Попробуйте это:
date_default_timezone_set('UTC');
$date = date("Ymd\THis\Z");
В первой строке устанавливается часовой пояс по умолчанию, который будет использоваться в формате UTC (это «Z» в конце форматированного времени: Z = "Zulu Time"
).Я сделал это, так как не знаю, ожидает ли Google время по Гринвичу или нет.Если вы можете использовать другие часовые пояса, тогда вы можете использовать один из других доступных форматов часовых поясов .
В следующей строке я использую date
для форматирования текущей метки времени Unix (когда нетотметка времени передается в date
, по умолчанию используется текущее время - т.е. time()
).Я разбью его на части для вас:
Y
- год из четырех цифр m
- месяц из двух цифр (включая ведущий ноль, если необходимо) d
- двухзначный (включая ведущий ноль, если необходимо) день месяца \T
- буквенный символ T
, который является разделителем, обозначающим, чтоВременная часть даты начинается.Косая черта должна выходить за пределы буквы Т, так как она используется для отображения аббревиатуры часового пояса (например, «PST») H
- двухзначный (включая, при необходимости, нулевой) час i
- двузначная (включая начальный ноль, если необходимо) минута s
- двузначная (включая начальный ноль, если необходимо) секунда \Z
- буквенный символ Z
, указывающий время зулу, как обсуждалось выше.Косая черта должна выходить из Т, так как в противном случае она используется для отображения часового пояса в секундах от UTC.
Для справки, и чтобы быть уверенным, что я правильно истолковал вопрос, этот код:
date_default_timezone_set('UTC');
echo date("Ymd\THis\Z", time());
В настоящее время отображает этот результат:
20110415T014623Z
Я долженобратите внимание, что вы также можете использовать gmdate()
вместо date()
и устранить необходимость в вызове date_default_timezone_set()
, так как gmdate()
возвращает результат в GMT.Я только стесняюсь упомянуть об этом, потому что я никогда не был на 100% ясен о разнице, если таковая вообще имеется, между GMT и UTC, особенно с другими часовыми поясами / периодами, такими как BST (British Summer Time) и как они изменяют GMT, если вообще.Если бы кто-то мог уточнить это в комментариях, я был бы очень признателен.