php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Kalender vor 1970


 
Melchor
23-11-2005, 08:58 
 
hallo leute,

habe mir einen schönen Kalender geschrieben, welchen man per POST-Variablen steuern kann. Das funktioniert auch echt toll. Nur wenn man ein Datum eingibt, welches vor dem 1. Januar 1970 ist gibt er mir eine Fehlermeldung. Wie kann ich es trozdem schaffen einen Kalender vor diesem Zeitpunkt regenerieren?

Habe schon viele gegooglet aber nicht wirklich was brauchbares finden können, wo das Problem erklärt wird.

lg Melchor

 
Rafi
23-11-2005, 09:10 
 
Hallo,

ich selbst habe auch nicht soviel Ahnung von PHP, allerdings habe ich mal bissl gesucht. Scheinbar kannst du keine Daten vor diesem Datum ausgeben.

Ich habe mal bei http://de.php.net, "time" eingeben. Dort kommen Beispiele und auch eine Erklärung:

Gibt die seit Beginn der Unix-Epoche (Januar 1 1970 00:00:00 GMT) bis jetzt vergangenen Sekunden zurück.

Also kann PHP scheinbar nur rechnen, von 1.1.1970 bis Heute und und in die Zukunft.

Weis nicht ob es dir geholfen hat...

mfg

 
mrhappiness
23-11-2005, 09:19 
 
function kalender($start, $end = NULL) {
if (!isset($end))
$end = date('Y');

$tage[true] = array(31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, 31);
$tage[false] = array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, 31);

$jahre = array();

for($i = $start; $i <= $end; $i++) {
$schaltjahr = ($i % 400 == 0 or ($i % 100 and $i % 4 == 0));
$jahre[] = array(
'jahr' => $i,
'schaltjahr' => $schaltjahr);
'tage' => $tage[$schaltjahr]);
}
return $jahre;
}

echo '<pre>';
print_r(kalender(1899, 2001));
echo '</pre>';

 
Melchor
23-11-2005, 09:40 
 
Vielen Danke für eure rasche Hilfe, werde gleich mal versuchen ob ich die Funktion so verwenden kann. Wenn ja, muss sie dann nur noch verstehen :), aber das wird schon.

großen Dank euch beiden
bye bye

 
Meillo
23-11-2005, 09:58 
 
Original geschrieben von Rafi
Also kann PHP scheinbar nur rechnen, von 1.1.1970 bis Heute und in die Zukunft.... du meinst Berechnungen mit Hilfe des UNIX-Timestamps

... und in die Zukunft.und zwar gar nicht besonders weit - nur bis zum 19. Januar 2038 um 3:14:08 h UTC

... solange du auf UNIX-Timestamps verzichtest bist du nicht derart beschränkt.

 
pippo
23-11-2005, 10:18 
 
Hallo,

es gab einen kleinen fehler nach Schaltjahr:

'schaltjahr' => $schaltjahr); //ohne klammer und mit komma statt ;

Gruß

Pippo


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:54 Uhr.