2015-07-21 78 views
0

我想查看日期是否在當月的第一個和最後一個月之間。我試圖將下面的$ dateInfo字符串轉換爲日期,所以我可以比較這些值...我該如何實現這一點? DateInfo必須採用以下格式。PHP日期對比問題

變量:

$dateInfo = '20150624T14:49:59' 
$dFirst = new DateTime('first day of this month'); 
$dLast = new DateTime('last day of this month'); 

比較:

if(($dateInfo >= $dFirst) && ( $dateInfo<= $dLast)){ 
    echo 'something';} 
} 
+1

谷歌:'的strtotime()' – Rizier123

+0

做確實DAT DOH –

+0

所以,你已經嘗試:'如果((的strtotime($ dateInfo)> = $ dFirst-> getTimestamp())&&(的strtotime($ dateInfo) <= $dLast-> getTimestamp())){echo「something」;}'? – Rizier123

回答

1

嘗試使用DateTime對象:

<?php 
$dateInfo = new DateTime('20150724T14:49:59'); 
$dFirst = new DateTime('first day of this month'); 
$dLast = new DateTime('last day of this month'); 

if (($dateInfo >= $dFirst) && ($dateInfo <= $dLast)) { 
    $string = "%s is between %s and %s"; 
    printf($string, $dateInfo->format('d/M/Y'), $dFirst->format('d/M/Y'), $dLast->format('d/M/Y')); 
} 
0

試試這個:

$dateInfo = strtotime('20150624T14:49:59'); 
$dFirst = strtotime(date('01-m-Y')); // first day of month 
$dLast = strtotime(date('Y-m-t')); // last day of month 

if(($dateInfo >= $dFirst) && ( $dateInfo<= $dLast)){ 
    echo 'something';} 
} 

祝你好運!

0
$dateInfo = new DateTime('20150624T14:49:59'); 

這個工作形成了我

0

您可以DateTime::getTimestamp比較時間戳。

$dateInfo = '20150724T14:49:59'; 

$myDate = new DateTime($dateInfo); 

$dFirst = new DateTime('first day of this month'); 
$dLast = new DateTime('last day of this month'); 

$occursThisMonth = $dFirst->getTimestamp() <= $myDate->getTimestamp() && 
        $myDate->getTimestamp() <= $dLast->getTimestamp();