strtotime 从 ISO8601 格式下降微秒,是否有替代功能没有?
strtotime drops microseconds from ISO8601 format, is there an alternative function that doesn't?
当我这样做时:
echo(strtotime('2020-06-16T08:08:18.339Z'));
strtotime
给我:
1592294898
是否有函数可以将 date/time 转换为 ISO8601 format
而不会丢失微秒? (秒的小数部分,类似于 microtime(true)
函数返回的秒数。)
PS。我正在使用 PHP 7.4
与 PHP 中的日期一样,DateTime
来拯救
$str = '2020-06-16T08:08:18.339Z';
$dt = new DateTime($str); // or DateTime::createFromFormat('Y-m-d\TH:i:s.uO', $str);
echo (float) $dt->format('U.u');
如果您只对毫秒感兴趣,但您的问题是 "microseconds",您也可以在 createFromFormat
中使用 DATE_RFC3339_EXTENDED
常量。
当我这样做时:
echo(strtotime('2020-06-16T08:08:18.339Z'));
strtotime
给我:
1592294898
是否有函数可以将 date/time 转换为 ISO8601 format
而不会丢失微秒? (秒的小数部分,类似于 microtime(true)
函数返回的秒数。)
PS。我正在使用 PHP 7.4
与 PHP 中的日期一样,DateTime
来拯救
$str = '2020-06-16T08:08:18.339Z';
$dt = new DateTime($str); // or DateTime::createFromFormat('Y-m-d\TH:i:s.uO', $str);
echo (float) $dt->format('U.u');
如果您只对毫秒感兴趣,但您的问题是 "microseconds",您也可以在 createFromFormat
中使用 DATE_RFC3339_EXTENDED
常量。