2009-05-06 11 views
23

मेरे PHP कोड में मेरे पास मेरे चर "$ postDate" में एक तिथि है।
अब मैं 7 दिनों के बाद तिथि प्राप्त करना चाहता हूं, 15 दिन, एक महीने और 2 महीने बीत चुके हैं।PHP में 15 दिन/1 महीने के बाद मुझे तिथि कैसे मिल सकती है?

मुझे किस दिनांक कार्य का उपयोग करना चाहिए?

आउटपुट दिनांक प्रारूप यूएस प्रारूप में होना चाहिए।

+2

अवधि आप के लिए गूगल के लिए चाहते हैं "तिथि अंकगणित" है। –

उत्तर

34

उपयोग strtotime प्रयास करें।

$newDate = strtotime('+15 days',$date) 

$ newDate अब $ तारीख के 15 दिन बाद होगा। $ तारीख यूनिक्स समय है।

http://uk.php.net/strtotime

+0

इस कोड को काम नहीं कर रहा है ... – Tanmoy

17

इस

$date = date("Y-m-d");// current date 

$date = strtotime(date("Y-m-d", strtotime($date)) . " +1 day"); 
$date = strtotime(date("Y-m-d", strtotime($date)) . " +1 week"); 
$date = strtotime(date("Y-m-d", strtotime($date)) . " +2 week"); 
$date = strtotime(date("Y-m-d", strtotime($date)) . " +1 month"); 
$date = strtotime(date("Y-m-d", strtotime($date)) . " +30 days"); 
2

क्या इनपुट प्रारूप वैसे भी है?

1) यदि आपकी तिथि, वर्ष, महीने और दिन की सरणी है, तो आप mktime (0, 0, 0, $ माह, $ दिन + 15, $ वर्ष) या mktime (0, 0, 0, $ माह + 1, $ दिन, $ वर्ष)। ध्यान दें कि mktime एक स्मार्ट फ़ंक्शन है, जो आउट-ऑफ-बाउंड मानों को ठीक से संभाल लेगा, इसलिए mktime (0, 0, 0, 13, 33, 2008) (जो 13 महीने है, 2008 का दिन 33) फरवरी के लिए टाइमस्टैम्प वापस करेगा , 2, 200 9।

2) यदि आपकी तिथि टाइमस्टैंप है, तो आप बस 15 * SECONDS_IN_A_DAY की तरह जोड़ते हैं, और उसके बाद आउटपुट (/ * किसी भी प्रारूप * /, $ पोस्टडेट) के साथ आउटपुट करते हैं। यदि आपको एक महीने 30 दिनों को जोड़ने की ज़रूरत है तो निश्चित रूप से हमेशा सही काम नहीं करेगा, इसलिए आप पहले टाइमस्टैम्प को महीने, दिन और वर्ष (दिनांक() फ़ंक्शन के साथ) में परिवर्तित कर सकते हैं और फिर (1) का उपयोग कर सकते हैं।

3) यदि आपकी तिथि एक स्ट्रिंग है, तो आप पहले इसे पार्स करें, उदाहरण के लिए, स्ट्रेटोटाइम() के साथ, फिर आपको पसंद करते हैं।

13

के बाद से पीएचपी कक्षा में 5.2.0 DateTime निर्माण उपलब्ध

$date = new DateTime($postedDate); 

$date->modify('+1 day'); 

echo $date->format('Y-m-d'); 

http://php.net/manual/en/class.datetime.php

+0

बहुत बहुत धन्यवाद। यह सेकंड में मेरी समस्या का समाधान करता है। धन्यवाद फिर से –

+0

मैं हमेशा इस स्ट्रेटोटाइम विकल्प पर इस समाधान को पसंद करता हूं। – Peon

3

है यह बहुत सरल है; इस प्रयास करें:

$date = "2013-06-12"; // date you want to upgade 

echo $date = date("Y-m-d", strtotime($date ." +1 day")); 
9
$date=strtotime(date('Y-m-d')); // if today :2013-05-23 

$newDate = date('Y-m-d',strtotime('+15 days',$date)); 

echo $newDate; //after15 days :2013-06-07 

$newDate = date('Y-m-d',strtotime('+1 month',$date)); 

echo $newDate; // after 1 month :2013-06-23 
संबंधित मुद्दे