Strtotime olun () sadece gelecekte kez oluşturmak

4 Cevap php

Ben bir PHP komut dosyası bir tarihte (örneğin 5-1) sonraki oluşumunu bulmak için yapmaya çalışıyorum. Ancak, içine strtotime() 5-2 bu yıl tarih ile gelir koyarsanız. Ben sadece o zaman mümkün sonraki tarihi döndürür yapmak istiyorum. Bu iş nasıl yapabilir? Eğer yardımcı olur ben CodeIgniter'ı kullanıyorum.

EDIT: Bazı mütevazı ruh aynı sorun karşısında biterse İşte ben ile geldi bazı kod:

if (strtotime($date) < strtotime("now")) {
    $realseconds = strtotime($date) + 31556926; //add one year in seconds
} else {
    $realseconds = strtotime($date);
}

4 Cevap

Sen döndürülen tarih şimdiki zamandan daha önce olup olmadığını kontrol edin, ve, eğer, bunun için bir yıl ekleyebilirsiniz.

Ayrıca strtotime için ikinci parametre olarak gelecek yıl bazı tarihini geçebileceği.

Nedir 5-1 veya 5-2?!

Yerine bunu deneyin:

strtotime('next October');

5-2 beşinci Şubat demektir varsayarsak, Yapabileceğin

strtotime("february 5 +1 year")

Kod:

$x=strtotime($inputString);
$YEAR=60*60*24*30*12;
while($x<$time()) $x+=$YEAR;

Strtotime tarafından döndürülen tarih geçmişte ise temelde, bir yıl ekler ... Bu açıkça böyle ifade edildi bile () tha geçmişte bir tarih asla dönecektir olurken i kullanılır çünkü