在PHP中仅比较两个日期与月份和年份

时间:2017-05-02 11:42:02

标签: php date

让我解释一下这个场景。

  1. 我有“月份(从01到12的任何月份)”和“年份(2017年的示例17”,我的本地变量。

  2. 我想将它与当前月份和年份进行比较。

  3.     $month = 04;
        $year = 17;
        if ($month.'-'.$year > current month & year)
        {
         echo "not expired";
        }
        else
        {
         echo "expired";
        }
    

    3。例如:

    $old_month = 03;  // March
    $old_year = 17;   // 2017
    
    $new_month = 05;  // May
    $new_year = 17;   // 2017
    //how to compare and determine which month&year is old one or new one ?
    

    在谷歌和SO帖子中搜索了很多,但找不到任何解决方案。请帮帮我。

    注意:我手上只有一个月和一年的时间将它与当前的月份和年份进行比较。

3 个答案:

答案 0 :(得分:3)

使用DateTime()将日期相互比较。它更清晰,更容易阅读,因为DateTime的对象具有可比性。

我使用 private void textBox1_TextChanged(object sender, EventArgs e) { var myDBConnection = new MyDataBaseConnection(); _data = myDBConnection.ReturnMyData(textBox1.Text); dataGridView1.DataSource = null; dataGridView1.DataSource = _data; } ,因为您从API获得的日期不会是PHP的标准格式,这使得PHp更容易处理。

DateTime::createFromFormat

答案 1 :(得分:1)

@Praveen George我希望你能像下面这样做尝试使用date():

<?php
$searchingDate = '05-17'; // your variable which contain month and year
if($searchingDate == date("m-y")){ // date("m-y") return current month and year in format like('05-17) if both are equal then it match 
    echo "match";
}
else{
    echo "did not match";
} 

答案 2 :(得分:0)

下面的代码对我来说很合适。

$currentDate=date('d/m/Y'); // taking current date

$expirationDay = 31;
$expirationMonth = 12;
$expirationYear = 2017;

$date2 = $expirationYear.'-'.$expirationMonth.'-'.$expirationDay;
$date2 = date_create($date2);
$date2 = date_format($date2,"d/m/Y");

if($currentDate <= $date2)
{
  echo "not expired";
}
elseif($currentDate > $date2)
{
  echo "expired";
}