在问这个问题之前,我已经查看了PHP手册,并在谷歌上搜索了一下,但仍然对如何正确地做到这一点感到困惑-如何检查我的datetime变量的时间部分是否大于给定时间?
假设我有一个变量$time
,如下所示:
$mdata['entry_date_time'] = $this->input->post('entry_date_time');
$time = $mdata['entry_date_time']->format('H:i:s');
我想做的是这样的事情:
if($time > 12:00:00)
{
//do something
}
基于第二个代码片段,我的问题是:
- 我的语法正确吗
- 如果没有,那么正确的语法是什么
- 除了我的方法之外,还有什么更好的方法来做我想做的事情吗?如果是,那是什么
根据输入的格式,在这种情况下可以使用日期时间:
$date_input = $this->input->post('entry_date_time');
$date = new DateTime($date_input);
if($date->format('H') > 12) {
// do what you have to do
}
如果您的格式不能直接在构造函数上使用,则可能需要使用createFromFormat
:
完整回答:
- 不,这是不正确的,因为您的post值很可能是字符串,因此将
->
作为箭头运算符是没有意义的,因为它不是对象 - 和3。上面的答案