2013-02-13 15 views
5

क्या दो तिथियों के बीच सभी तिथियों को प्रदर्शित करने के लिए कोई PHP फ़ंक्शन है?दो तिथियों के बीच सभी तिथियों को प्रदर्शित करने के लिए दिनांक फ़ंक्शन

+2

सं करता है यह आपके सवाल का जवाब है? – Jon

+0

क्या आप अपनी अपेक्षा की नमूना आउटपुट जोड़ सकते हैं? अधिक से अधिक, क्या कोशिश की है? – Stephan

+0

[Google.com] (https://www.google.com/search?q=php+function+to+display+all+dates+between+two+date&aq=f&oq=php+function+to+display+all + दिनांकों + के बीच + दो + तारीख & AQS = chrome.0.57j60l2j62j64.523 और sourceid = क्रोम और यानी = UTF-8)। पहला लिंक –

उत्तर

24

DatePeriod कक्षा है।

उदाहरण:

$begin = new DateTime('2013-02-01'); 
$end = new DateTime('2013-02-13'); 

$daterange = new DatePeriod($begin, new DateInterval('P1D'), $end); 

foreach($daterange as $date){ 
    echo $date->format("Y-m-d") . "<br>"; 
} 

(P1D एक दिन की अवधि के लिए खड़ा है, आगे प्रलेखन के लिए DateInterval देखें)

+1

लगभग वहां - 2017-11-03 से 2017-11-10 की तारीखें 03, 04, 05, 06, 07, 08, 09 दिखाएं। हमें या तो 03 को बाहर करना चाहिए या 10. – crafter

4

आप इस समारोह की जांच कर सकते भी

 $day = 86400; // Day in seconds 
     $format = 'Y-m-d'; // Output format (see PHP date funciton) 
     $sTime = strtotime($start_date); // Start as time 
     $eTime = strtotime($end_date); // End as time 
     $numDays = round(($eTime - $sTime)/$day) + 1; 
     $days = array(); 

     for ($d = 0; $d < $numDays; $d++) { 
      $days[] = date($format, ($sTime + ($d * $day))); 
     } 
+0

भयानक सामान शामिल करना चाहिए !! –

+0

ध्यान दें कि $ दिन = 86400; हमेशा सही नहीं होता है, गर्मी के समय लागू होने पर छोटे और लंबे दिन होते हैं। –

संबंधित मुद्दे