2011-07-01 10 views
5

यहां मेरा PHP कोड है जो महीने के नाम + वर्ष के साथ एक चयन बॉक्स उत्पन्न करता है। मेरे पास 2 टाइम स्टैंप हैं जिनका उपयोग मैं लूप में कर रहा हूं जो टाइमस्टैंप और एंड टाइमस्टैम्प शुरू करता है।प्रत्येक पुनरावृत्ति में टाइमस्टैम्प में एक महीने जोड़ें

अब समस्या उदाहरण के लिए है यदि मेरा स्टार्ट-टाइमस्टैम्प 01.07.2011 का प्रतिनिधित्व करता है और लूप में मैं टाइम स्टैम्प में केवल 30 दिन जोड़ रहा हूं तो मैं चयन बॉक्स को दो बार प्रदर्शित किया जाएगा। और यदि मैं 31 दिन जोड़ता हूं तो एक महीने हो सकता है।

क्या कोई फ़ंक्शन उपलब्ध है जो प्रत्येक पुनरावृत्ति के लिए सटीक एक महीने जोड़ सकता है?

<select name="checkinMonth" class="selectform" id="checkinMonth" > 
<?php 
    for($month = $checkin_timestamp; $month <= $checkout_timestamp; $month += 30*60*60*24) { 
     $checkin_month = getdate($month); 
     $option_text = strftime("%B %Y",$month); 
     $option_value = strftime("%Y%m", $month); 
     $selected = ($checkin_selected == $option_value ? "selected='selected'" : ""); 

     echo "<option value='{$option_value}' {$selected}>{$option_text}</option>"; 
    } 
?> 
</select> 

उत्तर

21

आप की तरह कुछ के लिए देख रहे: मुझे लगता है कि आप होगा

$tmp_year = date("Y", $month); 
$tmp_month = date("m", $month); 
$tmp_day = date("d", $month); 
$tmp_hour = date("H", $month); 
$tmp_min = date("m", $month); 
$tmp_sec = date("s", $month); 

$month = mktime($tmp_hour, $tmp_minute, $tmp_second, $tmp_month + 1, $tmp_day, $tmp_year); 

:

strtotime("+1 month", $myTimestamp); 

http://us2.php.net/strtotime

4

और अगर आप कल्पना कुछ और वर्बोज़, इस कोशिश इसे अपने स्वयं के फ़ंक्शन में रखने के लिए इसे उस खंड में फिट करने के लिए: पी

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