strtotime不能用微秒工作

时间:2017-03-21 15:07:42

标签: php strtotime

尝试将包含微秒的字符串转换为unix时间戳时,strtotime函数似乎不起作用。我不在乎将微秒保持在unix时间戳中。

示例:

$date = '2017-03-21-10:58:01.7888';
echo strtotime($date); // always outputs 0

2 个答案:

答案 0 :(得分:0)

根据these testsPHP Manual,问题在于日期和时间之间的破折号:

  

5.0.0微秒开始被允许,但是它们被忽略了。

答案 1 :(得分:-1)

PHP不支持微秒格式,请参阅list of compound formats(日期和时间)。您必须将其转换为支持的格式。如果时间戳保证使用此格式,您可以将其拆分为点,然后使用第一部分获取没有微秒的时间戳:

echo strtotime(split(".", $data)[0]);