sofia: date()

Leibes Forum,

leider komme ich gerade mich der Date-Funktion von PHP nicht zurecht.

Ich habe einen Wert: 34
Dieser Wert soll den Jahrestag darstellen, also der 35. Tag im laufenden Jahr.

Wie kann ich die 34 nun in ein Datum umrechnen?

Mit folgendem Befehl erhalte ich im Gegensatz dazu den aktuellen Jahrestag als Zahl:

echo date("z", time());

Dies ergibt für heute ja den Wert 213 - nun möchte ich allerdings gerne für den Wert 213 das Datum erhalten.

Vielen Dank für Eure Hilfen,
sofia

  1. Hi,

    Ich habe einen Wert: 34
    Dieser Wert soll den Jahrestag darstellen, also der 35. Tag im laufenden Jahr.

    Wie kann ich die 34 nun in ein Datum umrechnen?

    Schau dir strtotime an.

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
    1. Hi,

      Ich habe einen Wert: 34
      Dieser Wert soll den Jahrestag darstellen, also der 35. Tag im laufenden Jahr.

      Wie kann ich die 34 nun in ein Datum umrechnen?

      Ich hab hier kein php zum ausprobieren, aber sowas wie echo strtotime("01 August 2010 +1 day") wuerde funktionieren?

      --
      Ich bin dafuer verantwortlich was ich sage, nicht dafuer, was Du verstehst.
      1. Hi,

        strtotime("01 August 2010 +1 day") wuerde funktionieren?

        nein sowas: strtotime('+34 day', mktime(0, 0, 0, 1, 1, 2010)), denn für relative Datumsformate kannst Du einen Zeitstempel als "Basis" angeben. Da kann man aber imho gleich mktime nehmen...

        Gruesse, Joachim

        --
        Am Ende wird alles gut.
    2. Hi,

      Schau dir strtotime an.

      einfache wäre imho mktime, also: mktime(0, 0, 0, 1, 35, 2010)

      Gruesse, Joachim

      --
      Am Ende wird alles gut.
  2. Hi!

    Das macht date() auch nicht. http://php.net/manual/de/function.date.php Die Funktion erwartet einen Timestamp.

    Eine Loesung zu deinem Problem, weiss ich momentan leider nicht. Dafuer beschaeftige ich mich zuwenig mit php. Ich denke Du muesstest Dir selbst was bastelnund evtl. mit date() verifizieren.

    --
    Ich bin dafuer verantwortlich was ich sage, nicht dafuer, was Du verstehst.
  3. Hi!

    leider komme ich gerade mich der Date-Funktion von PHP nicht zurecht.

    Sie macht etwas anderes als du möchtest.

    Ich habe einen Wert: 34
    Dieser Wert soll den Jahrestag darstellen, also der 35. Tag im laufenden Jahr.

    date() möchte einen Unix-Timestamp haben, den es formatiert ausgibt. Also musst du zunächst aus dieser 34 einen Unix-Timestamp machen.

    Wie kann ich die 34 nun in ein Datum umrechnen?

    Mit mktime(). Sag dem einfach, es wäre der 34. Januar des gewünschten Jahres.

    Mit folgendem Befehl erhalte ich im Gegensatz dazu den aktuellen Jahrestag als Zahl:
    echo date("z", time());

    Das Ergebnis von mktime() kannst du dann dem date() verfüttern.

    Lo!

  4. Hi,

    Dies ergibt für heute ja den Wert 213 - nun möchte ich allerdings gerne für den Wert 213 das Datum erhalten.

    vielleicht etwas kompliziert aber:

      
    <?php  
    $jahrestag = 213;  
      
    $timestamp = time();  
    $jahr = date('Y',$timestamp);  
      
    $jahr_timestamp = strtotime($jahr.'-1-1 00:00:00');  
      
    $datum_timestamp = $jahr_timestamp + ($jahrestag * 86400);  
    $datum = date('d.m.Y',$datum_timestamp);  
      
    echo $datum;  
    ?>  
    
    

    MfG
    Naps

  5. Hallo,

    hier mal eine einfache Lösung:

    $jahrestag=34;  
      
    $datum=date("d.m.Y",(strtotime(date("Y")."-01-01")+($jahrestag*86400)));  
      
    echo $datum;
    

    Gruß
    Norbert