簡體   English   中英

錯誤如果條件不適用於PHP 2月29日,則當我將日期設置為2月29日時,它將顯示第一個條件true1

[英]Error If condition not working for 29 February in php , when i set date 29 feb it show first conditon true1

2月28日至29日之間出現問題,請更改日期並查看結果

$cmncdate = '2019-02-29';

$time=strtotime($cmncdate);

$day=date("d",$time);

$mnth=date("m",$time);

if ($day>=1 AND $day<11)

    { $nday = '10'; $newDate = date("Y-m-$nday", strtotime($cmncdate)); 

    echo $newDate; }

elseif ($day>10 AND $day<21)

    { $nday = '20'; $newDate = date("Y-m-$nday", strtotime($cmncdate)); 

    echo $newDate; }

elseif ($day>20 AND $day<31 AND $mnth!=2)

    { $nday = '30';  $newDate = date("Y-m-$nday", strtotime($cmncdate)); 

    echo $newDate; }

elseif ($day>20 AND $day<29 AND $mnth=2)

    { $nday = '28'; $newDate = date("Y-m-$nday", strtotime($cmncdate)); 

    echo $newDate; }

    elseif ($day=29 AND $mnth=2)

    { $nday = '29';  $newDate = date("Y-m-$nday", strtotime($cmncdate)); 

    echo $newDate; }

問題是2019-02-29是無效日期。 第29個僅在leap年(2012、2016、2020等)上有效。 因此日期自動轉換為1/3/2019 ...

$cmncdate = '2019-02-29';
$time=strtotime($cmncdate);
$day=date("d",$time);
$mnth=date("m",$time);
echo $mnth.".".$day;

給...

03.01

因此,嘗試使用2020年...

$cmncdate = '2020-02-29';
$time=strtotime($cmncdate);
$day=date("d",$time);
$mnth=date("m",$time);
echo $mnth.".".$day;

暫無
暫無

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

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