在日期大于另一个日期时获取值
fetching value while date is greater than another date
我的 $_POST['date']==01-2017
和 $_POST['mon']==11-2016
以及当我使用我的代码比较大于这样的函数时
if(date($_POST['date'])>date($_POST['mon']))
{
$data['f']=$this->admin_model->ajax_f();
$data['fine']='';
}
仅考虑 post 值的第一个值,这意味着仅 01
和 11
不考虑整个值。
您可以将日期转换为纪元 times/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['date']==01-2017
和 $_POST['mon']==11-2016
以及当我使用我的代码比较大于这样的函数时
if(date($_POST['date'])>date($_POST['mon']))
{
$data['f']=$this->admin_model->ajax_f();
$data['fine']='';
}
仅考虑 post 值的第一个值,这意味着仅 01
和 11
不考虑整个值。
您可以将日期转换为纪元 times/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']='';
}