WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.


Forum » PHP & MySQL » datum addieren » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

Die letzten 5 Postings in diesem Thema » Alle anzeigen
von mariep
Danke , hat geklappt jetzt mit so wenig Code
von TeX
1:
echo date("d.m.Y",mktime(0,0,0,date("m") + 1,date("d"),date("Y")));
von chip
mariep schrieb am 12.12.2005 15:09
Hallo ,

ich möchte das aktuelle Datum um einen Monat addieren, um diese neues Datum später mit einem anderes zu vergleichen

1: 
2: 
3: 
4: 
5: 
6:
$timestamp=mktime(0,0,0,date("d.m.y"));
$year = date("y",$timestamp);
$month=date("m",$timestamp)+1;
$day=date("d",$timestamp);

$timestamps = date("d.m.y",mktime(0,0,0,$year,$month,$day));


ich bekomme immer für diese code , 2 fehlermeldungen: bei mktime() und date() -->
windows does not sipport negatives values for this funktion


OK. mktime() hat zunächst mal ein anderes Format (siehe PHP-Manual). Dafür kannst du aber auch einfach time() nehmen.
Dann bräuchtest du eine Fallunterscheidung, denn in deinem Beispiel wäre ein 13. Monat möglich. Ich würde es so machen (nicht getestet):

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13:
$day = date("d");
$month = date("m");
$year = date("Y");

if($month > 11) {
  $year = $year+1;
  $month = 1;
} else {
  $month = $month+1;
}

$timestamps = mktime(0, 0, 0, $month, $day, $year);


// EDIT: PHP korrigiert falsche Angaben automatisch, deshalb könntest du die Fallunterscheidung weglassen. Aber das Format hat trotzdem nicht gestimmt, meins müsste korrekt sein.
von mariep
ich arbeite leider nur auf windows Rechner, es gibt keine Unix Rechner hier.
von languitar
Naja, die Fehlermeldung klingt ja sehr eindeutig. Schon mal auf einem Unix-Rechner probiert?

Ansonsten an die aktuelle Timestamp kommst du auch mit time().

Nach oben