मैं एक तिथि प्राप्त करने की कोशिश कर रहा हूं जो मेरे द्वारा निर्दिष्ट तिथि से एक वर्ष है।
मेरा कोड इस तरह दिखता है:
$futureDate=date('Y-m-d', strtotime('+one year', $startDate));
यह गलत तारीख लौटा रहा है। कोई विचार क्यों?
मैं एक तिथि प्राप्त करने की कोशिश कर रहा हूं जो मेरे द्वारा निर्दिष्ट तिथि से एक वर्ष है।
मेरा कोड इस तरह दिखता है:
$futureDate=date('Y-m-d', strtotime('+one year', $startDate));
यह गलत तारीख लौटा रहा है। कोई विचार क्यों?
जवाबों:
आज की तारीख में एक वर्ष जोड़ने के लिए निम्नलिखित का उपयोग करें:
$oneYearOn = date('Y-m-d',strtotime(date("Y-m-d", mktime()) . " + 365 day"));
अन्य उदाहरणों के लिए आपको $ शुरुआती शुरू करना चाहिए उदाहरण के लिए टाइमस्टैम्प मूल्य के साथ:
$StartingDate = mktime(); // todays date as a timestamp
इसे इस्तेमाल करे
$newEndingDate = date("Y-m-d", strtotime(date("Y-m-d", strtotime($StaringDate)) . " + 365 day"));
या
$newEndingDate = date("Y-m-d", strtotime(date("Y-m-d", strtotime($StaringDate)) . " + 1 year"));
$futureDate=date('Y-m-d', strtotime('+1 year'));
$ FutureDate अभी से एक वर्ष है!
$futureDate=date('Y-m-d', strtotime('+1 year', strtotime($startDate)) );
$ FutureDate $ startDate से एक वर्ष है!
$futureDate=date('Y-m-d',strtotime('+1 year',$startDate));
नीचे दिए गए K Prime के रूप में करें।
प्रयत्न: $futureDate=date('Y-m-d',strtotime('+1 year',$startDate));
,
दिया .
और यह काम कर गया date("Y-m-d",strtotime('+1 year '.$startDate))
;
// Declare a variable for this year
$this_year = date("Y");
// Add 1 to the variable
$next_year = $this_year + 1;
$year_after = $this_year + 2;
// Check your code
echo "This year is ";
echo $this_year;
echo "<br />";
echo "Next year is ";
echo $next_year;
echo "<br />";
echo "The year after that is ";
echo $year_after;
मुझे OO दृष्टिकोण पसंद है:
$date = new \DateTimeImmutable('today'); //'today' gives midnight, leave blank for current time.
$futureDate = $date->add(\DateInterval::createFromDateString('+1 Year'))
DateTimeImmutable
अन्यथा उपयोग करें आप मूल तिथि को भी संशोधित करेंगे! DateTimeImmutable पर अधिक: http://php.net/manual/en/class.datetimeimmutable.php
यदि आप केवल आज की तारीख से चाहते हैं तो आप हमेशा ऐसा कर सकते हैं:
new \DateTimeImmutable('-1 Month');
strtotime()
लौट रहा है bool(false)
, क्योंकि यह स्ट्रिंग को पार्स नहीं कर सकता '+one year'
(यह "एक" नहीं समझता है)। false
इसके बाद integer
टाइमस्टैम्प को स्पष्ट रूप से डाला जा रहा है 0
। यह सत्यापित करने के लिए एक अच्छा विचार है कि strtotime()
आउटपुट नहीं हैbool(false)
अन्य कार्यों में रखने से पहले आप ।
वापसी मान
सफलता पर एक टाइमस्टैम्प लौटाता है, अन्यथा FALSE। PHP 5.1.0 से पहले, यह फ़ंक्शन -1 विफलता पर लौटेगा।
एक सरल और कम परिष्कृत समाधान भी है:
$monthDay = date('m/d');
$year = date('Y')+1;
$oneYearFuture = "".$monthDay."/".$year."";
echo"The date one year in the future is: ".$oneYearFuture."";
मेरा समाधान है: date('Y-m-d', time()-60*60*24*365);
आप इसे परिभाषित के साथ और अधिक "पठनीय" बना सकते हैं:
define('ONE_SECOND', 1);
define('ONE_MINUTE', 60 * ONE_SECOND);
define('ONE_HOUR', 60 * ONE_MINUTE);
define('ONE_DAY', 24 * ONE_HOUR);
define('ONE_YEAR', 365 * ONE_DAY);
date('Y-m-d', time()-ONE_YEAR);