2011-03-02 18 views
33

Bu formatın 3 Mart 2011 veri tabanına sahip olduğunu ve 7 gün uzatmam gerektiğini biliyorum. php - + 7 günden bugüne format format mm dd, YYYY

 $date = $date + 7
demek istiyorum. Bunu yapmak için herhangi bir yapı var mı?

+1

olası yinelenen (http://stackoverflow.com/questions/2332681/add-number-of-days-to-a-date) – Gordon

+0

DB'nizdeki tarih biçimi nedir? En iyi seçeneğiniz, verileri dışarı çekip kendi işlevinizle yürütmek, ek günleri diziye eklemek ve DB'ye geri göndermek olacaktır. –

+0

ve daha birçoğu http://stackoverflow.com/search?q=add+7+days+date+php – Gordon

cevap

97
$date = "Mar 03, 2011"; 
$date = strtotime($date); 
$date = strtotime("+7 day", $date); 
echo date('M d, Y', $date); 
+1

adresinde, son haliyle bugünün tarihini karşılaştırmak için de var mıdır? (ör. (tarih [geçmiş tarih]) {echo 'geçmişte geçmiş'}? – Michael

+0

@Michael strtotime sonucu bir tamsayıdır.Bu tamsayı UNIX çağından beri geçen saniye sayısını temsil eder (Jan 1 1970 00: Bu tamsayılar, kullandığınız tam kodu kullanarak karşılaştırılabilir –

+0

@Michael the 'time()' işlevi, geçerli tarih/saati karşılaştırma için bir UNIX zaman damgası olarak almak için kullanılabilir. –

3

evet başka not

$oneweekfromnow = strtotime("+1 week", strtotime("<date-from-db>")); 

, neden böyle veritabanında tarihi var mı?

16

strtotime

çeşitli bloglar belirtildiği gibi

, strtotime() ile "1 ay" sorunu bulunmayan günlerde "1 ay" ("önümüzdeki ay") sorunu çözer sonraki ay, örneğin MySQL gibi diğer uygulamalardan farklıdır.

$dt = date("Y-m-d"); 
echo date("Y-m-d", strtotime("$dt +1 day")); // PHP: 2009-03-04 
echo date("Y-m-d", strtotime("2009-01-31 +2 month")); // PHP: 2009-03-31 
5

echo date('d/m/Y', strtotime('+7 days'));

+0

Ve son cevap benim için çalıştı! Güzel ve basit - şerefe! – Notorious

6

Başka yeni ve nesne stili şekilde yapmak:

$date = new DateTime('now'); 
$date->add(new DateInterval('P7D')); 

php doc of datetime add

[bir tarihe gün sayısını ekleyin] arasında
İlgili konular