दिलचस्प पोस्ट
Xcode में अनुक्रमण को कैसे सक्षम करें? PHP फ़ंक्शन काल्पेटफैक्स्ट () और यूनिकोड मैं गतिशील रूप से सी # कोड का मूल्यांकन कैसे कर सकता हूं? मैजिक $ – रुबी में प्रीफिक्स वैरिएबल; क्या कोई संपूर्ण संदर्भ कहीं है? जावा में एक सरल रेखा का ग्राफ आकर्षित करना ASP.NET में उपयोगकर्ता के क्लाइंट आईपी पते को कैसे प्राप्त करें? ग्राफ़ में चक्र खोजने के लिए डीएफएस और बीएफएस क्यों नहीं? उद्देश्य सी सभी विधि कॉल ट्रैक? एक बड़े स्थानीय ऑर्नाम को मेरे कार्यक्रम को क्यों क्रैश किया जाता है? फ़ाइलों को संसाधित करने के बाद मैं फ़ाइलों को एक संग्रह फ़ोल्डर में कैसे स्थानांतरित कर सकता हूं? पांडा डेटाफ़्रेम कॉलम हेडर से सूची प्राप्त करें सीएसएस के माध्यम से आदेश सूची में दूसरी पंक्ति के लिए इंडेंट कैसे रखा जाए? नियम निष्पादन समय में वैरिएबल निर्धारित करें php अपलोड पर छवि का आकार परिवर्तन क्या आप रूबी में मैप (और: विधि) सिंटैक्स में तर्क प्रदान कर सकते हैं?

मेरे पास PHP में दो तिथियां हैं, मैं उन दिनों के माध्यम से जाने के लिए कैसे एक foreach पाश चला सकता हूँ?

मैं एक तिथि 2010-05-01 शुरू कर रहा हूं और 2010-05-10 साथ समाप्त हो रहा हूं। मैं PHP में उन सभी तिथियों के माध्यम से कैसे पुनरावृत्त हो सकता हूं?

Solutions Collecting From Web of "मेरे पास PHP में दो तिथियां हैं, मैं उन दिनों के माध्यम से जाने के लिए कैसे एक foreach पाश चला सकता हूँ?"

PHP5.3 की आवश्यकता है:

 $begin = new DateTime( '2010-05-01' ); $end = new DateTime( '2010-05-10' ); $interval = DateInterval::createFromDateString('1 day'); $period = new DatePeriod($begin, $interval, $end); foreach ( $period as $dt ) echo $dt->format( "l Ymd H:i:s\n" ); 

यह $start और $end बीच निर्धारित अवधि में सभी दिनों का उत्पादन करेगा यदि आप 10 वीं को शामिल करना चाहते हैं, तो $end 11 $end का $end सेट करें आप अपनी पसंद के लिए प्रारूप को समायोजित कर सकते हैं दिनांक पीरियड के लिए PHP मैनुअल देखें।

इसमें अंतिम तिथि भी शामिल है

 $begin = new DateTime( "2015-07-03" ); $end = new DateTime( "2015-07-09" ); for($i = $begin; $i <= $end; $i->modify('+1 day')){ echo $i->format("Ymd"); } 

यदि आपको अंतिम तिथि की आवश्यकता न हो तो बस स्थिति से = निकालें।

यूनिक्स टाइमस्टैंक्ड में परिवर्तित करना गणित की गणना करना आसान बनाता है php:

 $startTime = strtotime( '2010-05-01 12:00' ); $endTime = strtotime( '2010-05-10 12:00' ); // Loop between timestamps, 24 hours at a time for ( $i = $startTime; $i <= $endTime; $i = $i + 86400 ) { $thisDate = date( 'Ym-d', $i ); // 2010-05-01, 2010-05-02, etc } 

डीएसटी वाले टाइमज़न के साथ PHP का उपयोग करते समय, सुनिश्चित करें कि 23:00, 00:00 या 1:00 बजे दिन को लंघन या दोहराए जाने से रोकने के लिए समय जोड़ना सुनिश्चित करें।

 $startTime = strtotime('2010-05-01'); $endTime = strtotime('2010-05-10'); // Loop between timestamps, 1 day at a time $i = 1; do { $newTime = strtotime('+'.$i++.' days',$startTime); echo $newTime; } while ($newTime < $endTime); 

या

 $startTime = strtotime('2010-05-01'); $endTime = strtotime('2010-05-10'); // Loop between timestamps, 1 day at a time do { $startTime = strtotime('+1 day',$startTime); echo $startTime; } while ($startTime < $endTime); 

समावेशी श्रेणी के लिए php.net नमूना से कॉपी करें:

 $begin = new DateTime( '2012-08-01' ); $end = new DateTime( '2012-08-31' ); $end = $end->modify( '+1 day' ); $interval = new DateInterval('P1D'); $daterange = new DatePeriod($begin, $interval ,$end); foreach($daterange as $date){ echo $date->format("Ymd") . "<br>"; } 

उपयोगकर्ता इस फ़ंक्शन: –

 function dateRange($first, $last, $step = '+1 day', $format = 'Ymd' ) { $dates = array(); $current = strtotime($first); $last = strtotime($last); while( $current <= $last ) { $dates[] = date($format, $current); $current = strtotime($step, $current); } return $dates; } 

उपयोग / फ़ंक्शन कॉल: –

एक दिन बढ़ो: –

 dateRange($start, $end); //increment is set to 1 day. 

महीना बढ़ाएं: –

 dateRange($start, $end, "+1 month");//increase by one month 

यदि आप दिनांक प्रारूप सेट करना चाहते हैं तो तीसरा पैरामीटर का उपयोग करें: –

  dateRange($start, $end, "+1 month", "Ymd H:i:s");//increase by one month and format is mysql datetime 

यहाँ एक और सरल है –

 /** * Date range * * @param $first * @param $last * @param string $step * @param string $format * @return array */ function dateRange( $first, $last, $step = '+1 day', $format = 'Ymd' ) { $dates = []; $current = strtotime( $first ); $last = strtotime( $last ); while( $current <= $last ) { $dates[] = date( $format, $current ); $current = strtotime( $step, $current ); } return $dates; } 

उदाहरण:

 print_r( dateRange( '2010-07-26', '2010-08-05') ); Array ( [0] => 2010-07-26 [1] => 2010-07-27 [2] => 2010-07-28 [3] => 2010-07-29 [4] => 2010-07-30 [5] => 2010-07-31 [6] => 2010-08-01 [7] => 2010-08-02 [8] => 2010-08-03 [9] => 2010-08-04 [10] => 2010-08-05 ) 

यहाँ एक तरीका है:

  $date = new Carbon(); $dtStart = $date->startOfMonth(); $dtEnd = $dtStart->copy()->endOfMonth(); $weekendsInMoth = []; while ($dtStart->diffInDays($dtEnd)) { if($dtStart->isWeekend()) { $weekendsInMoth[] = $dtStart->copy(); } $dtStart->addDay(); } 

$ सप्ताहांत का नतीजा है सप्ताहांत के दिनों की सरणी!