दिलचस्प पोस्ट
FFmpeg के साथ वीडियो घूम रहा है स्ट्रिंग से होस्टनाम नाम निकालें एंड्रॉइड: टैबलेट के लिए पोट्रेट और लैंडस्केप की अनुमति दें, लेकिन फ़ोन पर पोर्ट को मजबूर करें? जावा बिल्डर क्लास को उप-क्लास करना अवतरणों के बिना ऑब्जेक्ट कीज़ और उद्धरण चिह्नों के बीच क्या अंतर है? लंबे समय तक विस्तृत प्रारूप में डेटा कैसे आकार देना है? कैसे पता लगाते हैं जब एक यूट्यूब वीडियो चलना खत्म हो जाए? मुझे java.lang.AbstractMethodError मिलता है जब डीबी में एक ब्लॉब लोड करने की कोशिश कर रहा हूं? CSS3 के चयनकर्ता: कक्षा के नाम के साथ प्रथम-प्रकार की? नेस्टेड शब्दकोश आइटम चाबियों की सूची के माध्यम से एक्सेस करें? जावा में नंबर के लिए अग्रणी शून्य जोड़ें? क्या वीबी 6 / वीबीए के लिए एक JSON पार्सर है? Java.lang.NoClassDefFoundError को हल करने के लिए कैसे करें: जावा 9 में javax / xml / bind / jAXBException जावा में HTML को पार्स करने के लिए नियमित अभिव्यक्ति का उपयोग कैसे करें? जावा में गेटो स्टेटमेंट के लिए वैकल्पिक

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

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

वेब के समाधान से एकत्रित समाधान "मेरे पास 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(); } 

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