1 php if-statement date formatted
我试图在PHP中创建一个简单的if/else语句.像这样简单:
<?php
$time = 13;
if ($time < 12) {
echo "Morning";
} else {
echo "Afternoon or evening";
}
?>
Run Code Online (Sandbox Code Playgroud)
问题是我从数据库收到的值是一种未格式化的时间格式(如:2014-09-08 06:00:00).我可以使用以下格式设置此日期
$time->format('H');
Run Code Online (Sandbox Code Playgroud)
从日,月和年中剥离日期.但是你不能将它用作变量.这就是我想要做的:
<?php $deliverytime = new DateTime('2014-09-08 06:00:00');
$deliverytime->format('H');
if ($deliverytime < 12) {
echo "Morning";
} else {
echo "Afternoon or evening";
}
?>
Run Code Online (Sandbox Code Playgroud)
我现在这不起作用,因为我试图使用格式化的日期作为一个不起作用的变量.有没有其他方法可以使用格式化日期确定当天的部分?
此致,Matthijs
<?php
$deliverytime = new DateTime('2014-09-08 06:00:00');
$hour = $deliverytime->format('H');
if ($hour < 12) {
echo "Morning";
} else {
echo "Afternoon or evening";
}
?>
Run Code Online (Sandbox Code Playgroud)
$deliverytime->format() 是一种返回格式化日期的方法,您必须将其存储在某处以使用该方法返回的内容,如上面的代码所示.
实际上,您将整个对象传递给if语句,您只需要使用您正在使用的方法的结果.