2009-12-17 16 views
11

कई उदाहरण इस दिन के दिनों को जोड़ने के बारे में हैं। लेकिन अगर यह अलग-अलग दिन है तो इसे कैसे करें?विशिष्ट दिन में दिन जोड़ना

उदाहरण के लिए (काम नहीं करता):

$day='2010-01-23'; 

// add 7 days to the date above 
$NewDate= Date('$day', strtotime("+7 days")); 
echo $NewDate; 

उदाहरण से काम नहीं होता। तारीख के स्थान पर कुछ और डालकर मैं कैसे दिन को बदलना चाहिए?

+2

'$ दिन' कोई गलती है: यहाँ प्रलेखन है? आप उद्धरणों में चर लपेट नहीं करते हैं। – TravisO

उत्तर

29

एक बहुत ही बुनियादी फिक्स के लिए अपने कोड के आधार पर से:

$day='2010-01-23'; 

// add 7 days to the date above 
$NewDate = date('Y-m-d', strtotime($day . " +7 days")); 
echo $NewDate; 

आप PHP 5.3+ का उपयोग कर रहे हैं, तो आप नए दिनांक समय उपयोग कर सकते हैं libs बहुत आसान कर रहे हैं जो:

$day = '2010-01-23'; 

// add 7 days to the date above 
$NewDate = new DateTime($day); 
$NewDate->add(new DateInterval('P7D'); 
echo $NewDate->format('Y-m-d'); 

मैंने पूरी तरह से DateTime का उपयोग करने के लिए पूरी तरह से स्विच किया गया क्योंकि यह बहुत शक्तिशाली है। तत्काल समय पर आप टाइमज़ोन भी निर्दिष्ट कर सकते हैं, यानी new DateTime($time, new DateTimeZone('UTC'))। डेटइंटरवाल ऑब्जेक्ट्स के साथ दिनांक बदलने के लिए आप add() और sub() विधियों का उपयोग कर सकते हैं।

+0

$ न्यूडेट-> जोड़ें (नया दिनांक अंतराल ('पी 7 डी'); - आपको अंत में एक अतिरिक्त ') जोड़ने की जरूरत है :) – mmvsbg

1

php.com binupillai2003

<?php 
/* 
Add day/week/month to a particular date 
@param1 yyyy-mm-dd 
@param1 integer 
by Binu V Pillai on 2009-12-17 
*/ 

function addDate($date,$day)//add days 
{ 
$sum = strtotime(date("Y-m-d", strtotime("$date")) . " +$day days"); 
$dateTo=date('Y-m-d',$sum); 
return $dateTo; 
} 

?> 
+2

जबकि "$ date" तकनीकी रूप से काम कर सकता है, यह खराब वाक्यविन्यास है, बस $ – TravisO

9
$NewDate = date('Y-m-d', strtotime('+7 days', strtotime($day))); 
+3

कहें यह यूनिक्स युग के बाद ही सेकंड आउटपुट करेगा। –

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