smart23: Datums & Zeitmanipulation

Guten Morgen

Hoffe ihr könnt mir bei folgender Sache helfen:

Bei einer Datenbankauswertung möchte ich ausgehend von einem Datum bzw Zeit aus der Datenbank verschiedene Zeitpunkte ausrechnen.

Fall 1
z.B. kommt aus der Datenbank 2006-05-05 und ich möchte wissen bzw das PHP-Script sollte ausrechnen welches Datum 6 Tage vorher war.

Fall 2
Zeit-Variable aus der Datenbank 19:38:30 - Script soll 5 min wegrechnen.

Bisher bin ich bei solchen Manipulationen immer vom aktuellen Datum ausgegangen also z.B.

$strin2mon = strtotime("+2 months");
$datin2mon = date("Y-m-d",$strin2mon);

  1. Hi,

    Bei einer Datenbankauswertung möchte ich ausgehend von einem Datum bzw Zeit aus der Datenbank verschiedene Zeitpunkte ausrechnen.

    ich denke date und mktime helfen Dir weiter. Das "Zerlegen" der Datums bzw. Zeitstrings sollte ja - bei festen Formaten - kein Problem darstellen.

    Gruesse, Joachim

    --
    Am Ende wird alles gut.
  2. Moin,
    bin erst PHp anfänger aber versuchs mal
    Fall1:
    mit
    $zeit1=date("U",mktime...) >>Unix timestamp erzeugen
    6 Tage entspricht 6*24*3600
    $vor_6Tagen=$zeit1-(6*24*3600)
    das einfach mit date() ins gewünschte format bringen!

    Fall2 kannst du eig genauso lösen!

    MFG MArc

    1. Hi,»

      $zeit1=date("U",mktime...) >>Unix timestamp erzeugen
      6 Tage entspricht 6*24*3600
      $vor_6Tagen=$zeit1-(6*24*3600)

      hm, ich denke, dass erledigt mktime automatisch denn:
      "mktime() ist hilfreich bei Datumsberechnungen und -prüfungen, da automatisch das korrekte Datum für ungültige Angaben berechnet wird."
      d.h. mktime(0, 0, 0, 12, 32, 1997); ergibt nicht den 32ten Dezember 97 sondern den ersten Januar 98.

      Gruesse, Joachim

      --
      Am Ende wird alles gut.
    2. echo $begrüßung;

      6 Tage entspricht 6*24*3600

      Das gilt zwar meistens, jedoch gibt es gesetzlich geregelte Sonderfälle, die von PHP berücksichtigt werden, und bei der pauschalen Annahme von 24 Stunden pro Tag zu Differenzen führen. Um unabhängig von diesen Besonderheiten zu arbeiten sollte man die UTC-Zeit-Funktionen (zu erkennen am 'gm' im Namen) verwenden.

      echo "$verabschiedung $name";

  3. Hallo

    Danke für die Tipps werd mir das mit mktime noch mal genauer anschaun und hoffe damit die geünschte Lösung zu finden.

    Mfg smart