在和其它语言或接口交互时,有时会要求时间格式为 ISO 8601 格式(2018-01-01T00:00:00Z)。
通常查阅手册,我们发现PHP自身 date('c')
函数支持8601格式,但你会发现略有不一样?最后没有了Z,而多了一个+08:00?PHP并没有将其转为UTC时间,而是以当前时区时间在结尾处加上了时间偏移量。
既然如此,那就用些小手段来得到所需格式吧
<?php
date_default_timezone_set('Asia/Shanghai');
// 利用date('Z')来获取时间偏移量(秒),进而计算出转换后的时间.
date('Y-m-d\TH:i:s\Z', time() - date('Z'));
网友评论