दिलचस्प पोस्ट
विवरण विशेषता से एन्यूम प्राप्त करें Android DatePicker केवल महीना और वर्ष में परिवर्तन जावास्क्रिप्ट कॉलबैक जब IFRAME लदान समाप्त हो गया है? एलिमेंटट्री का उपयोग करके सीडीएटीए आउटपुट कैसे करें मैं PHP में कैसे एक UTF-8 सीएसवी आउटपुट कर सकता हूं जो Excel ठीक से पढ़ा जाएगा? रेल और रूबी 1.9 के साथ अमान्य multibyte char (US-ASCII) उद्देश्य-सी में एक रिक्त स्ट्रिंग की जांच करने का सही तरीका क्या है? जावा स्ट्रीम एक बार बंद क्यों हैं? बेस क्लास कन्स्ट्रक्टर में वर्चुअल विधि कॉलिंग Postgres विंडो समारोह और अपवाद द्वारा समूह कैसे PHP में ऑब्जेक्ट्स को कास्ट करें यूएसबी डिवाइस एक्सेस पॉप-अप दमन? आर में डेटा सेट में पढ़ने में त्रुटि द्विपक्षीय जेपीए वनटॉमी / कई टीओओन एसोसिएशन में, "संघ के व्यस्त पक्ष" का क्या मतलब है? जीआईटी सबड्यूल और सबट्री के बीच मतभेद

मेरे पास 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(); } 

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