Skip to content
Advertisement

How to format an UTC date to use the Z (Zulu) zone designator in php?

I need to display and handle UTC dates in the following format:

2013-06-28T22:15:00Z

As this format is part of the ISO8601 standard I have no trouble creating DateTime objects from strings like the one above. However I can’t find a clean way (meaning no string manipulations like substr and replace, etc.) to present my DateTime object in the desired format. I tried to tweak the server and php datetime settings, with little success. I always get:

$date->format(DateTime::ISO8601); // gives 2013-06-28T22:15:00+00:00

Is there any date format or configuration setting that will give me the desired string? Or I’ll have to append the ‘Z’ manually to a custom time format?

Advertisement

Answer

No, there is no special constant for the desired format. I would use:

$date->format('Y-m-dTH:i:sZ');

But you will have to make sure that the times you are using are really UTC to avoid interpretation errors in your application.

User contributions licensed under: CC BY-SA
1 People found this is helpful
Advertisement