开始日期和开始时间小于结束日期和结束时间验证

Rya*_*yan 0 php mysql time date jquery-ui-datepicker

开始时间,结束日期和结束时间变量.

日期变量已格式化 yyyy-mm-dd

时间变量已格式化hh-mm(但仅在小时数可用时,例如,分钟始终为00)

我可以将这些变量插入到我的数据库中没有问题,但在此之前,我想检查开始日期和时间是否在结束日期和时间之前.我知道如何检查时间是否更早,日期更早,但我无法一起检查时间和日期,我将不胜感激任何帮助?

$_POST['start_time']
$_POST['end_time']
$_POST['start_date']
$_POST['end_date']
Run Code Online (Sandbox Code Playgroud)

是变量以及我如何抓住它们.

Leo*_*lis 6

使用DateTime对象让自己变得简单:

<?php
// assuming the following values...
$_POST['start_time'] = '06:00';
$_POST['end_time'] = '10:00';
$_POST['start_date'] = '2012-01-01';
$_POST['end_date'] = '2013-06-02';

//set up two DateTime objects
$start = DateTime::createFromFormat('Y-m-d H-i', $_POST['start_date'] . ' ' . $_POST['start_time']);
$end = DateTime::createFromFormat('Y-m-d H-i', $_POST['end_date'] . ' ' . $_POST['end_time']);

// check if they're valid
if ($start < $end) {
  echo 'We are good...';
} else {
  echo 'Something bad happened...';
}
Run Code Online (Sandbox Code Playgroud)

请记住,这假定您的$_POSTed值有效.如果您尚未对它们进行消毒try/catch,请至少将其包裹起来.