我有一个 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]);
答案 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;