Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Date 日期大于另一个日期时获取值_Date_Codeigniter 3 - Fatal编程技术网

Date 日期大于另一个日期时获取值

Date 日期大于另一个日期时获取值,date,codeigniter-3,Date,Codeigniter 3,我的$\u POST['date']==01-2017和$\u POST['mon']==11-2016以及当我使用我的代码来比较大于此函数时 if(date($_POST['date'])>date($_POST['mon'])) { $data['f']=$this->admin_model->ajax_f(); $data['fine']=''; } 只有两个post值的第一个值被考虑,这意味着只有01和11不考虑整个值。您可以将日期转换为历

我的
$\u POST['date']==01-2017
$\u POST['mon']==11-2016
以及当我使用我的代码来比较大于此函数时

if(date($_POST['date'])>date($_POST['mon']))
   {
    $data['f']=$this->admin_model->ajax_f();
    $data['fine']='';
   }

只有两个post值的第一个值被考虑,这意味着只有
01
11
不考虑整个值。

您可以将日期转换为历元时间/unix时间戳,然后比较:

// field [0] is month, field [1] is year
$date_tmp = explode("-", $_POST['date']);
$mon_tmp = explode("-", $_POST['mon']);

// create epoch times
$date_secs = mktime(0,0,0,$date_tmp[0],0,$date_tmp[1]);
$mon_secs = mktime(0,0,0,$mon_tmp[0],0,$mon_tmp[1]);

if($date_secs > $mon_secs)
{
    $data['f']=$this->admin_model->ajax_f();
    $data['fine']='';
}

请参阅:

您可以将日期转换为历元时间/unix时间戳,然后进行比较:

// field [0] is month, field [1] is year
$date_tmp = explode("-", $_POST['date']);
$mon_tmp = explode("-", $_POST['mon']);

// create epoch times
$date_secs = mktime(0,0,0,$date_tmp[0],0,$date_tmp[1]);
$mon_secs = mktime(0,0,0,$mon_tmp[0],0,$mon_tmp[1]);

if($date_secs > $mon_secs)
{
    $data['f']=$this->admin_model->ajax_f();
    $data['fine']='';
}

请参阅:

更简单的内容。。。也许,在所有关于确保post值存在且格式正确的警告下

$post_date = strtotime('00-' . $_POST['date']);
$post_mon  = strtotime('00-' . $_POST['mon']);
if($post_date > $post_mon) {
    $data['f']=$this->admin_model->ajax_f();
    $data['fine']='';
}

更简单的事情。。。也许,在所有关于确保post值存在且格式正确的警告下

$post_date = strtotime('00-' . $_POST['date']);
$post_mon  = strtotime('00-' . $_POST['mon']);
if($post_date > $post_mon) {
    $data['f']=$this->admin_model->ajax_f();
    $data['fine']='';
}

你好,有人有什么想法吗?为什么不使用完整的日期格式,包括日、月、年?如果你使用的是完整日期格式,你可以使用strotime()这个概念是这样的,它意味着每月的金额($_POST['mon']和每月的支付金额($_POST['date']你好..有人知道你为什么不使用包括日、月、年在内的完整日期格式吗?如果你使用的是完整日期格式,你可以使用strotime()这个概念是这样的,它意味着本月的金额($_POST['mon'])和本月要支付的金额($_POST['date']