在PHP中将不明确的日期字符串转换为unix时间戳

时间:2014-04-29 04:08:46

标签: php unix-timestamp

如果你有一个模糊的日期,比如“05/04/2014”(这是dd / mm / yyyy,但只是通过查看它也可能是一个月的第一个),你怎么能把它转换为PHP unix时间戳呢? / p>

看起来https://php.net/manual/en/function.strtotime.php接近我想要的,但是没有办法将日期格式指定为第一天?

3 个答案:

答案 0 :(得分:2)

xdazz的回答几乎是正确的,但是如果你这样做,你将会吸收当前的时间,而不会明确地删除它。

<?
$dt = DateTime::createFromFormat("m/d/Y", "05/04/2014");
$dt->setTime(0,0,0); # remove current time.
echo $dt->getTimestamp();
?>

理解为什么我们需要第2行,用

替换第3行
  var_dump($dt);

然后,删除第2行,并观察除了所需日期之外还有一段时间。

答案 1 :(得分:0)

您可以使用PHP函数 date_format

$date = date_create('2000-01-01');
echo date_format($date, 'm-d-Y H:i:s');

http://www.php.net/manual/en/datetime.format.php

答案 2 :(得分:0)

请参阅 DateTime::createFromFormat DateTime::getTimestamp

$date = DateTime::createFromFormat('d/m/Y', '05/04/2014');
echo $date->getTimestamp();