如何检查php日期时间变量是否在范围内

时间:2014-10-14 08:40:33

标签: php codeigniter

我已经检查了PHP手册,并且在提出这个问题之前也进行了Google搜索,但我仍然对如何正确执行此操作感到困惑 - 如何检查我的日期时间变量的时间部分是否大于给定时间?

假设我有一个变量$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
}

基于第二个代码段,我的问题是:

  1. 我的语法是否正确?
  2. 如果没有,那么正确的语法是什么?
  3. 除了我的方法之外,对我正在尝试做的事情有没有更好的方法?如果是的话那么它是什么?

1 个答案:

答案 0 :(得分:2)

根据输入的格式,您可以在这种情况下使用日期时间:

$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

完全回答:

  1. 不,它不正确,因为很可能你的帖子值是字符串,因此->箭头操作符没有意义,因为它不是一个对象。
  2. 和3.上面的答案。