从日期时间字符串开始的Php裁剪时间

时间:2014-07-29 07:56:12

标签: php

我有一个 datetime 字符串,我想在其中删除' time'部分出来的。 我需要对它进行一些计算,所以我需要将其转换为Unix时间戳。

我尝试了什么:

使用substr,然后使用strtotime,但在将结果检查回人类可读时间格式时,它与原始日期不同。

function convert($dbTime){
  $createDate = new DateTime($dbTime);
   $strip = $createDate->format('Y-m-d');
  $yearMonthDateArray = explode("-", $strip);
 }

爆炸在这里崩溃。

编辑:
这是dbTime的值:" 2014-07-27 12:06:00"
我希望它是" 2014-07-27",然后在这种格式上有 strototime 。这不起作用。将其转换回人类可读日期,生成2014-07-06
关于意见: 我尝试了各种datetime函数。他们要么崩溃要么他们没有回到适当的时间 爆炸崩溃 - 它不会继续下一行代码。

Edit2:
这就是接下来发生的事情。这将返回false

$timeWithMakeTime = mktime(0,0,0,(int)$yearMonthDateArray[0], (int)$yearMonthDateArray[1],(int)$yearMonthDateArray[2]);

3 个答案:

答案 0 :(得分:2)

丢弃所有乱码,我假设你只想要这个:

$dbTime = '2014-07-27 12:06:00';
$date = new DateTime($dbTime);
$date->setTime(0, 0, 0);
echo $date->getTimestamp();

答案 1 :(得分:0)

DateTime是一个对象,所以如果你想获得时间戳,你可以做的如下:

function convert($dbTime){
    $createDate = new DateTime($dbTime);
    return $createDate->getTimestamp();
}

您可以详细了解getTimestamp和其他DateTime functions

确保您的变量$ dbTime格式正确。例如,DateTime不支持分秒。

答案 2 :(得分:0)

$date = date('H:i:s', strtotime($dbTime));
echo $date;