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(). |
|