2016-12-21 4 views
0

Ich möchte Datum var ändern, wenn x Tage vergangen sindPHP ändern Datumsvariablen nach x Tagen

Zum Beispiel:

Heute ist 21.12.16 - $date = '23.12.16'

Morgen 22.12.16 - $date = '23.12.16'

ist, wenn es 23.12.16 - $date = '25.12.16'

ist

Ihr ist der Code, den ich bis jetzt bekommen habe. Hoffe, dass dies ein Gefühl

$date   = "2016-12-21"; //** will describe this lower 
    $days_passed = date_create()->diff(date_create($date))->days; 
if ($days_passed >= 2){ 
    $new_date = date('d.m.y', strtotime("+2 days")); 
} else{ 
    $new_date = $date; 
} 

es Dies funktioniert ok, wenn ich nur ein einziges Mal

tun wollen machen zu

** Ich brauche diese var alle 2 Tage zu ändern. Ich verstehe, dass ich es in eine Datenbank oder in eine .txt schreiben kann. Aber es gibt einen Weg, dies zu tun, nur durch PHP

P.S. Entschuldigung für mein schlechtes Englisch.

+4

http://stackoverflow.com/questions/18140766/check-how-many-days-ree-passed-since-the-last-update-in-php – Daimos

+0

if (Datum ("Ymd") == $ Datum) { $ date = date ("Ymd", strtotime ($ date. '+ 2 Tage')); } – rahulsm

+1

Mögliches Duplikat von [Wie bekomme ich das aktuelle Datum und die Uhrzeit in PHP?] (Http://stackoverflow.com/questions/470617/how-to-get-the-current-date-and-time-in- php) – Synchro

Antwort

0

Hier ist, was ich kam mit:

$date   = '2016-12-01'; //Your script start date, you wont need to change this anymore 
$everyxdate  = 10; // once x days to add x to $date 
$days_passed = date_create()->diff(date_create($date))->days; // passed days from start of script $date 

$mod_dates = (int)($days_passed/$everyxdate); // count how much cycles have passed 
$daystoadd = $mod_dates * $everyxdate + $everyxdate; // count how much days we need to add 
$newdate = strtotime ("+$daystoadd day" , strtotime ($date)) ; // Add needed day count to starting $date 
$newdate = date ('d.m.y' , $newdate); // Format date the way you want 

hoffen, dass dies jemand helfen, der die gleiche Aufgabe hat ich hatte.

Verwandte Themen