我使用以下代码获取ISO日期时间
$date= date("c");
echo $date;
它返回低于的东西
2016-01-07T20:18:46+00:00
但我使用的API告诉它的格式错误,它需要以下格式:
2016-01-07T20:35:06+00Z
我需要删除末尾的:00
并添加Z
。
我对regex完全陌生,有人能帮我理解regex并告诉我需要哪种格式吗。
您需要专门定义日期格式。
如果微秒总是00
date("Y-m-d H:i:s+00'Z");
否则,使用这个大大小小的逻辑
date("Y-m-d H:i:s+"). substr((string)microtime(), 2, 2) . 'Z';
更多信息。
http://php.net/manual/en/function.date.php
您可以用strrpos
找到:
的最后一次出现,并用substr
得到它的子字符串,然后添加Z
:
$date= date("c");
echo "Current: $date'n"; // => 2016-01-07T21:58:08+00:00
$new_date = substr($date, 0, strrpos($date, ":")) . "Z";
echo "New : " . $new_date; // => 2016-01-07T22:10:54+00Z
参见演示