尝试将包含微秒的字符串转换为unix时间戳时,strtotime
函数似乎不起作用。我不在乎将微秒保持在unix时间戳中。
示例:
$date = '2017-03-21-10:58:01.7888';
echo strtotime($date); // always outputs 0
答案 0 :(得分:0)
根据these tests和PHP Manual,问题在于日期和时间之间的破折号:
5.0.0微秒开始被允许,但是它们被忽略了。
答案 1 :(得分:-1)
PHP不支持微秒格式,请参阅list of compound formats(日期和时间)。您必须将其转换为支持的格式。如果时间戳保证使用此格式,您可以将其拆分为点,然后使用第一部分获取没有微秒的时间戳:
echo strtotime(split(".", $data)[0]);