Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Datum plus 42 Tage in Deutsch

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] Datum plus 42 Tage in Deutsch

    Hallo,

    ich möchte gern den Monat des aktuellen Datums plus 6 Wochen auf Deutsch ausgeben. Ich hatte gehofft, dass dies funktioniert:

    PHP-Code:
    setlocale(LC_TIME"de_DE");
    $date date_create($timestamp);
    date_add($date,date_interval_create_from_date_string("42 days"));
    echo 
    date_format($date,"F"); 
    Leider bekomme ich so nur das gewünschte Ergebnis auf Englisch. Auch
    Code:
    echo strftime("%B");
    hilft nicht, das gibt wieder das aktuelle Monatsdatum auf Deutsch an.
    Wie bekomme ich das nur hin?


  • #2
    Schau mal hier: http://php-de.github.io/jumpto/datetime/#deutsche-namen

    Und auch den ersetn dort verlinkten Beitrag: http://www.php.de/php-einsteiger/112...tml#post831698

    LG
    Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
    PHP.de Wissenssammlung | Kein Support per PN

    Kommentar


    • #3
      Probier mal dies:
      PHP-Code:
      $date date_create('20.01.1612')->modify('+42 Days'); //or '+6 Weeks'

      $fmt datefmt_create"de-DE" ,IntlDateFormatter::FULLIntlDateFormatter::FULL,
           
      'Europe/Berlin',IntlDateFormatter::GREGORIAN  ,"EEEE d. MMMM y");

      echo 
      datefmt_format$fmt ,$date);  //Freitag 2. März 1612 
      Die Klassen sind leider nicht immer verfügbar. Wenn nicht, link von hausl folgen.
      PHP-Klassen auf github

      Kommentar


      • #4
        EDIT Sorry, die Antwort von jspit zu spät gesehen. Sie funktioniert bei mir allerdings nicht, schade. Ich probiere aber mal damit herum.

        @hausl
        Wenn ich es richtig verstanden habe, geht es auf der github-Seite um einen Array der Monatsnamen; im verlinkten Thread dann um die Darstellung des Datums auf Deutsch.

        Was den Array angeht, würde ich es jetzt so machen:
        PHP-Code:
        $monate = array(1=>"Januar"2=>"Februar"3=>"März"4=>"April"5=>"Mai"6=>"Juni"7=>"Juli"8=>"August"9=>"September"10=>"Oktober"11=>"November"12=>"Dezember");
        $monat date("n");
        echo 
        $monate[$monat]; 
        Gibt natürlich wieder nur das aktuelle Datum aus. Mein Problem ist, wie bekomme ich jetzt nur die + 42 days hinein? Dabei hilft mir auch der verlinkte Thread nicht (oder habe ich da etwas übersehen?).

        Kommentar


        • #5
          So, ich habe jetzt beides kombiniert, und es funktioniert:
          PHP-Code:
          $date date_create($timestamp)->modify('+6 weeks'); 
          $monate = array(1=>"Januar"2=>"Februar"3=>"März"4=>"April"5=>"Mai"6=>"Juni"7=>"Juli"8=>"August"9=>"September"10=>"Oktober"11=>"November"12=>"Dezember");
          $monat date_format($date"n");
          echo 
          $monate[$monat]; 
          Danke euch nochmal!

          Kommentar

          Lädt...
          X