Briefkasten
Erfahrenes Mitglied
Hallo,
auf meiner Homepage soll, jedes Jahr zu einem bestimmten Zeitpunkt eine spezielle Aktion durchgeführt werden.
Das Datum wird in die DB gespeichert als int. Höchst zulässige Zahl ist 365.
Ich hole die Zahl aus der DB z.B.:45
Mit folgender Funktion ermittle ich den Tag und Monat:
Ist ziemlich unschön weils hardgecodet ist.
Und zurück rechnen tu ich so:
Das zurück rechnen mit Tag, Monat funktioniert nicht Richtig. Ich bekomme immer die falschen Werte. Weiß jemand wie ich das besser machen kann?. Vor allem, die vielen else if() sind unschön.
mfg
auf meiner Homepage soll, jedes Jahr zu einem bestimmten Zeitpunkt eine spezielle Aktion durchgeführt werden.
Das Datum wird in die DB gespeichert als int. Höchst zulässige Zahl ist 365.
Ich hole die Zahl aus der DB z.B.:45
Mit folgender Funktion ermittle ich den Tag und Monat:
PHP:
if($number<31)
{
$months = 1;
$day = $number;
}
else if($number<59)
{
$months = 2;
$day = $number - 28;
}
else if($number<90)
{
$months = 3;
$day = $number - 59;
}
else if($number<120)
{
$months = 4;
$day = $number - 90;
}
else if($number<151)
{
$day = $number -120;
$months = 5;
}
else if($number<181)
{
$day = $number - 151;
$months = 6;
}
else if($number<212)
{
$day = $number -181;
$months = 7;
}
else if($number<243)
{
$day = $number -212;
$months = 8;
}
else if($number<273)
{
$day = $number -243;
$months = 9;
}
else if($number<304)
{
$day = $number-273;
$months = 10;
}
else if($number<334)
{
$day = $number -304;
$months = 11;
}
else if($number<365)
{
$day = $number -334;
$months = 12;
}
return $da = Array($day, $months);
}
Ist ziemlich unschön weils hardgecodet ist.
Und zurück rechnen tu ich so:
PHP:
if($month==1)
{
return $day = $month + $day;
}
else if($month==2)
{
return $day = 31+$day;
}
else if($month==3)
{
return $day = 59 + $day;
}
else if($month==4)
{
return $day = 90 + $day;
}
else if($month==5)
{
return $day = 120 + $day;
}
else if($month==6)
{
return $day = 151 + $day;
}
else if($month==7)
{
return $day = 181 + $day;
}
else if($month==8)
{
return $day = 212 + $day;
}
else if($month==9)
{
return $day = 243 + $day;
}
else if($month==10)
{
return $day = 273 + $day;
}
else if($month==11)
{
return $day = 304 + $day;
}
else if($month==12)
{
return $day = 334 + $day;
}
Das zurück rechnen mit Tag, Monat funktioniert nicht Richtig. Ich bekomme immer die falschen Werte. Weiß jemand wie ich das besser machen kann?. Vor allem, die vielen else if() sind unschön.
mfg