This should give the proper ISO8601 date/time in Z(ulu) timezone:
str_replace('+00:00', 'Z', gmdate('c'))
To do a date conversion:
str_replace('+00:00', 'Z', gmdate('c', strtotime('2013-05-07 18:56:57')))
To have the additional .000
(which is useless imho):
str_replace('+00:00', '.000Z', gmdate('c', strtotime('2013-05-07 18:56:57')))