将当前服务器时间转换为ISO 8601


Convert current server time to ISO 8601

我必须将服务器当前时间转换为以下格式:

2016-03-23T05:24:25.590000

我认为这是一个ISO8601(即使我不明白最后的数字是什么,应该是微秒)。

我该怎么办?任何帮助都欢迎

最后的数字是微秒。很容易以以下格式输出给定的DateTime对象$d

echo $d->format('Y-m-d'TH:i:s.u');

要获得包括微秒在内的当前时间戳并不容易,因为用now构建它只需要整整几秒。你可以走这条路,手动附加微秒:

echo date('Y-m-d'TH:i:s') . substr((string) microtime(), 1, 7);
// 2016-03-23T14:55:25.535678

参见文档中的microtime()DateTime