如何在PHP中将时间戳转换为iso-8601和UTC?

时间:2017-09-22 02:08:35

标签: php

我不确定如何将时间戳转换为ISO-8601并同时应用UTC  但是,我正在寻找以下输出: 2017-09-23T01:08:36.6437128Z(格式= ISO-8601。时区= UTC)

我已经尝试了几种方法来获得这个,但我没有得到它所以任何人都知道如何得到它。因为这必须非常快速和简单的修复,但我错过了一些东西,这就是我没有得到这个输出的原因。

任何帮助将不胜感激:) 感谢

1 个答案:

答案 0 :(得分:0)

首先,您所需的格式不符合ISO 8601,因为您需要包含微秒。

使用date_default_timezone_set获取UTC,date可以轻松设置时间戳格式。

演示:https://3v4l.org/aRKqi

$timestamp = 1506086214;

// set the default timezone to use. Available since PHP 5.1
date_default_timezone_set('UTC');

// ISO 8601 (does NOT include microseconds)
echo date("c", $timestamp) . PHP_EOL;

// custom format e.g. 2017-09-23T01:08:36.6437128Z
echo date("Y-m-d\TH:i:s.u\Z", $timestamp) . PHP_EOL;
2017-09-22T13:16:54+00:00
2017-09-22T13:16:54.000000Z