Code:
function DateShifter($shift)
{
$day = date("d");
$month = date("m");
$year = date("Y");
$new_day = $day + $shift;
$new_month = $month;
$new_year = $year;
if($shift < 0)
{
while($new_day < 1)
{
$new_month--;
$new_day = date("t", mktime(0,0,0, $new_month,1,$new_year)) + $new_day;
while($new_month < 1)
{
$new_month = 12 - $new_month;
$new_year--;
}
}
}
else
{
$days_in_month = date("t", mktime(0,0,0,$new_month,1,$new_year));
while ($new_day > $days_in_month)
{
$new_day =$new_day - date("t", mktime(0,0,0,$new_month,1,$new_year));
$new_month++;
while($new_month > 12)
{
$new_month = $new_month - 12;
$new_year++;
}
}
}
$new_day = date("d", mktime(0,0,0,$new_month, $new_day, $new_year));
$new_month = date("m", mktime(0,0,0,$new_month, $new_day, $new_year));
$new_year = date("Y", mktime(0,0,0,$new_month, $new_day, $new_year));
return $new_day.' '.$new_month.' '.$new_year;
}
function DateShifter($shift)
{
$day = date("d");
$month = date("m");
$year = date("Y");
$new_day = $day + $shift;
$new_month = $month;
$new_year = $year;
if($shift < 0)
{
while($new_day < 1)
{
$new_month--;
$new_day = date("t", mktime(0,0,0, $new_month,1,$new_year)) + $new_day;
while($new_month < 1)
{
$new_month = 12 - $new_month;
$new_year--;
}
}
}
else
{
$days_in_month = date("t", mktime(0,0,0,$new_month,1,$new_year));
while ($new_day > $days_in_month)
{
$new_day =$new_day - date("t", mktime(0,0,0,$new_month,1,$new_year));
$new_month++;
while($new_month > 12)
{
$new_month = $new_month - 12;
$new_year++;
}
}
}
$new_day = date("d", mktime(0,0,0,$new_month, $new_day, $new_year));
$new_month = date("m", mktime(0,0,0,$new_month, $new_day, $new_year));
$new_year = date("Y", mktime(0,0,0,$new_month, $new_day, $new_year));
return $new_day.' '.$new_month.' '.$new_year;
}
$novi_datum = DateShifter(14); //14 oznacava koliko dana pomjeram datum naprijed
sve ovo savrseno radi kada je u pitanju danasnji datum, ali ne znam kako da napravim da mi datum vuce iz forme...tj. da mogu ja da zadam neki x datum.
znaci hocu da u form ukucam datum (npr. 10 - Januar - 2008) i da se taj datum ubaci u ovu funkciju umjesto danasnjeg.
ima li neko resenje za ovo?