中午前抽出时间

时间:2014-11-14 06:05:12

标签: php date

我在php中练习日期。我有点新手所以忍受我的无知 我想看看时间是中午之前。 所以我有一个变量来使用这种格式2014-03-07 13:28:00.000

我得到这样的时间

$submissonTime = date('H:i:s', strtotime($value['job_submission_date']));

然后我想将另一个变量设置为$noon,我这样做:

$noon = date('H:i:s', '12:00:00.000');

但是noon的值是12:00:12

我想要做的基本上是:

if($submissionTime <= $noon){
  //do my stuff
}

NB即使是在12:00:00也要输入if语句,在12:00:01时停止输入

请帮忙吗?

3 个答案:

答案 0 :(得分:4)

尝试

$noon = date('Y-m-d 12:00:00'); // today noon with date
$submissonTime = date('Y-m-d H:i:s', strtotime($value['job_submission_date']));
if(strtotime($submissonTime) <= strtotime($noon)){
  //do my stuff
}

如果您只想比较时间,请使用两种格式

$noon = date('12:00:00'); 
$submissonTime = date('H:i:s', strtotime($value['job_submission_date']));

答案 1 :(得分:2)

if (date("A") == "AM")
{
  // AM-Code
} else {
  // PM-Code
}

答案 2 :(得分:1)

为什么不用一小段代码来获取小时?

$Hour = date("G"); //24-hour format of an hour without leading zeros

if($Hour < 12) {
    // do the code
}

或者在你的情况下

$Hour = date("G", strtotime($value['job_submission_date']));

<强>更新

如果您需要12:00:00而不是12:00:01以及之后,则需要定义分钟和秒:

$Hour = date("G"); //24-hour format of an hour without leading zeros
$Minute = intval(date("i")); // will give minutes without leading zeroes
$Second = intval(date("s"));

if(($Hour < 12) || ($Hour == 12 && $Minute == 0 && Second == 0)) {
        // do the code
    }