Wie rechne ich +10 Tage auf ein deutsches Datum

X-Color

Erfahrenes Mitglied
Hi leute,
ich lese aus meiner mySQL DB das Datum mithilfe von "DATE_FORMAT(DATE(abreise.datum), "%d.%m.%Y")" in der SQL-Anfrage im deutschen Format als String aus.
Nun möcht ich noch ein wenig mit dem Datum rechnen und darauf 10 Tage hinzuzählen, mit date_modify bin ich da aber noch glücklich geworden, da mir dabei nur Fehler um die Ohren geworfen werden.

Habt ihr das richtige dafür, wie man das damit erreichen kann?
Ich danke euch für die Hilfe,
Gruß X-Color
 
Danke für den Hinweis,
möchte aber das ganze mithilfe von PHP ändern lassen...weitere Vorschläge? :)
 
Klar:
PHP:
<?php

$date = date("d.m.Y");
$add = array(
  'sec' => 0,
  'min' => 0,
  'hour' => 0,
  'day' => 10,
  'month' => 0,
  'year' => 0
);
echo getNewDate($date, $add);

function getNewDate($date, $adds, $form = "d.m.Y"){
  list($day, $month, $year) = explode(".",$date);
  $mktime = mktime(0,0,0,$month,$day,$year);
  $newtime = getNewTime($adds);
  return date($form, ($mktime + $newtime));
}

function getNewTime($times){
  $sec = $times['sec'];
  $min = $times['min'] *60;
  $hour = $times['hour'] *60 *60;
  $day = $times['day'] *60 *60 *24;
  $month = $times['month'] *60 *60 *24 * 30;
  $year = $times['year'] *60 *60 *24 * 30 *12;
  $date = 
    (($year) ? $year : 0) +
    (($month) ? $month : 0) +
    (($day) ? $day : 0) +
    (($hour) ? $hour : 0) +
    (($min) ? $min : 0) +
    (($sec) ? $sec : 0);
  return $date;
}
?>
 
Ohjeeee...das ist ja mächtig ! Geht das ganze noch etwas kürzer, oder mag das der einzigste Weg sein, mit einem Datum zu rechnen?

Gruß X-Color
 
Danke für eure Hilfe, für alle die, die es auch interessiert:
Code:
<?php
	$zeit = strtotime("2007-04-08");
	$zeit = $zeit + (10 * 86400);
	print strftime("%d.%m.%Y", $zeit);
?>
Dabei wird das englische Datum in den Timestamp umgerechnet und 10 Tage (pro Tag 86400sek. ) hinzuaddiert.
Am ende wird der Unix Timestamp in dem deutschen format ausgegeben.
Gruß X-Color
 
Zurück