簡體   English   中英

php比較兩個日期,僅月份和年份

[英]php compare two dates, month and year only

我想比較兩個日期-僅是月份和年份,以查看一個日期是否早於另一個日期。 這是我目前擁有的:

$monthyear = date("M Y"); 
$finish = date("M Y",strtotime($row->finish));
$start = date("M Y",strtotime($row->start));
if ($start <= $monthyear and $finish >= $monthyear) {
   do some stuff..
}

我想用簡單的英語做的事情:如果開始日期在當月之前或當月期間,而結束日期在當月之后或當月期間,請執行一些操作。

但是,正在發生的事情是,例如,2015年10月被認為是2016年5月之后的下降(即,如果完成日期為2015年10月,它將運行在括號內)。 據我所知,它只是比較月份,而不是月份和年份。

知道如何正確進行這些比較嗎?

將格式更改為按字母順序可比較為2個字符串的'Ym'

$monthyear = date("Y-m"); 
$finish = date("Y-m",strtotime($row->finish));
$start = date("Y-m",strtotime($row->start));
if ($start <= $monthyear and $finish >= $monthyear) {
   do some stuff..
}

您需要通過strtotime進行比較。

$monthyear = strtotime(date("F Y")); 
$finish = strtotime("May 2016");
$start = strtotime("October 2015");
if($start <= $monthyear && $finish >= $monthyear){
    echo 'Inner';
}else{
    echo 'Outer';
}

結果必須是Inner

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM