$ Date + 1 yıl?

8 Cevap php

Ben belirttiğiniz tarihten itibaren bir yıl bir tarih almak için çalışıyorum.

Benim kod şöyle görünür:

$futureDate=date('Y-m-d', strtotime('+one year', $startDate));

Bu yanlış tarih dönüyor. Herhangi bir fikir neden?

8 Cevap

Bugünün tarihini bir yıl eklemek için aşağıdakileri kullanın:

$oneYearOn = date('Y-m-d',strtotime(date("Y-m-d", mktime()) . " + 365 day"));

Fveyathe other examples you must initialize $StartingDate with a timestamp value fveyaexample:

$StartingDate = mktime();  // todays date as a timestamp

Bu deneyin

$newEndingDate = date("Y-m-d", strtotime(date("Y-m-d", strtotime($StaringDate)) . " + 365 day"));

veya

$newEndingDate = date("Y-m-d", strtotime(date("Y-m-d", strtotime($StaringDate)) . " + 1 year"));
$futureDate=date('Y-m-d', strtotime('+1 year'));

$ FutureDate geç bir yıl!

$futureDate=date('Y-m-d', strtotime('+1 year', strtotime($startDate)) );

$ FutureDate $ startDate itibaren bir yıl!

Deneyin: $futureDate=date('Y-m-d',strtotime('+1 year',$startDate));

PHP 5.3 kullanıyorsanız, varsayılan zaman dilimini ayarlamak gerekir, bunun nedeni:

date_default_timezone_set()

Bu dize '+one year' (bu "bir" anlamıyor) ayrıştırmak değil, çünkü strtotime(), bool(false) dönüyor. false daha sonra örtülü integer timestamp artığını ediliyor 0. Bu diğer işlevleri tıkıyorum gitmeden önce bool(false) strtotime() 'ın çıkışı değildir doğrulamak için iyi bir fikirdir.

From the docs:

Değerler Dönüş

Returns a timestamp on success, FALSE otherwise. Previous to PHP 5.1.0, this function would return -1 on failure.

Bu deneyin

$nextyear  = date("M d,Y",mktime(0, 0, 0, date("m",strtotime($startDate)),   date("d",strtotime($startDate)),   date("Y",strtotime($startDate))+1));

sadece aynı sorun ancak bu basit çözüm oldu, vardı:

(Date ('Y') +1). Date ('-m-d')

Daha basit ve daha az gelişmiş bir çözüm vardır:

$monthDay = date('m/d');
$year = date('Y')+1;
$oneYearFuture = "".$monthDay."/".$year."";
echo"The date one year in the future is: ".$oneYearFuture."";