尝试从日期时间以24小时格式获取时间,但无效:
$date=date_create("now");
date_add($date,date_interval_create_from_date_string('3 hours'));
$finalDate = date_format($date,"Y-m-d H:i:s");
// $finalDate is "2013-12-25 15:06:45"
尝试以下方法:
date('H', $finalDate)); // getting 02
date('G', $finalDate)); // getting 02
$finalDate->hours); // getting nothing
date_format($finalDate,"H")); // getting nothing
阅读本网站上的所有帖子,没有解决任何问题......
答案 0 :(得分:3)
$date
已经是DateTime对象。
您需要做的就是:
$hour = date_format($date, 'H');
或
$hour = $date->format('H');
PS: 建议采用面向对象的风格而不是程序风格。
答案 1 :(得分:2)
使用DateTime
和“对象语法”:
<?php
$date = new DateTime();
$date->modify('+3 hours');
echo $date->format('H');
?>
答案 2 :(得分:1)
请使用较新的DateTime对象。我还添加了如何查看两个不同DateTime对象之间差异的注释变体。
$date1 = new DateTime('2013-12-15 12:00:00');
$date2 = new DateTime('2013-12-25 13:30:30');
//$interval = $date1->diff($date2);
//$diff = $interval->format('%d');
//echo $diff;
echo $date1->format('H');
您可以使用$date->add()
的PDO变体来编写您做得更干净的内容:)
答案 3 :(得分:0)
试试这个:
$timeStr=strtotime($finalDate);
echo date('H', $timeStr);