Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit Datum

Einklappen

Neue Werbung 2019

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

  • Problem mit Datum

    Was genau mach ich falsch?

    PHP-Code:
    $timestamp_montag strtotime("{2019}-W{4}");
            echo 
    date("d.m.Y"$timestamp_montag); // 01.01.1970 
    Immer bekomme immer 01.01.1970 raus?


  • #2
    Debuggen.

    PHP-Code:

    $timestamp_montag 
    strtotime("{2019}-W{4}");
    var_dump($timestamp_montag);  // boolean false

    echo date("d.m.Y"$timestamp_montag); // 01.01.1970 
    Also stimmt was nicht mit dem Parameter von der Funktion strtotime.
    Jetzt schaust du im Handbuch nach wie man es macht.

    Was soll der Ausdruck denn repräsentieren?
    Warum brauchst du denn ein Timestamp, ist es nicht besser gleich Datetime zu nutzen?

    Kommentar


    • #3
      Wozu sind die geschwungenen Klammern gut?

      Davon abgesehen, wie von protestix erwähnt, gibts dafür http://php.net/manual/en/datetime.setisodate.php

      Kommentar


      • #4
        Bei Kalenderwochen musst du die führende Null angeben, oder besser ->setISODate() nutzen. https://php-de.github.io/jumpto/date...kalenderwochen

        PHP-Code:
        $week '2019-W04';
        $dt = new DateTime($week);
        echo 
        $dt->format('Y-m-d');

        // alternativ
        $dt = new DateTime();
        $dt->setISODate(20194);
        echo 
        $dt->format('Y-m-d');

        /*
        2019-01-21
        2019-01-21
        */ 
        The string "()()" is not palindrom but the String "())(" is.

        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


        • #5
          danke hausi. die führende 0 war der fehler. Aber ich werde es nach deinem beispiel jetzt abändern.

          Kommentar


          • #6
            VVoLv3r!n3 : Kannst du noch in kurzen Worten fassen was du erreichen möchtest bzw. was dein Ziel ist und die Frage #3 beantworten?

            Kommentar


            • #7
              Natürlich. Mein Ziel war es einen Dateinamen zu erstellen der sich wie folgt zusammensetzt:
              Kalenderwoche-Datum des Montags dieser Woche-Datum des Sonntags dieser Woche

              Kommentar


              • #8
                Wenn es immer die aktuelle Woche ("jetzt") ist kannst du auch mit relativen Ausdrücken arbeiten.

                PHP-Code:
                echo (new DateTime('monday this week'))->format('d.m.Y');
                echo (new 
                DateTime('sunday this week'))->format('d.m.Y');

                // 14.01.2019
                // 20.01.2019 
                The string "()()" is not palindrom but the String "())(" is.

                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


                • #9
                  Da du ja einen Dateinamen daraus machen willst, kannst du das auch so machen:
                  PHP-Code:
                  $dt = new DateTime('monday this week');

                  $filename $dt->format('W-Y_m_d-') . $dt->modify("next sunday")->format('Y_m_d');
                  echo 
                  $filename;   // 03-2019_01_14-2019_01_20 
                  Extension dran und fertig.
                  Anpassungen am Aussehen kannst du selber vornehmen.

                  Kommentar


                  • #10
                    Ach ja richtig. Ein DT Objekt reicht völlig.
                    The string "()()" is not palindrom but the String "())(" is.

                    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


                    • #11
                      Bei der Erstellung von Dateinamen welche Datums/Zeit-Informationen enthalten würde ich immer darauf achten das die Namen auch nach Datum sortierfähig sind. Man weis nie wozu das mal gut ist.

                      Kommentar


                      • #12
                        Zitat von protestix Beitrag anzeigen
                        Da du ja einen Dateinamen daraus machen willst, kannst du das auch so machen:
                        PHP-Code:
                        $dt = new DateTime('monday this week');

                        $filename $dt->format('W-Y_m_d-') . $dt->modify("next sunday")->format('Y_m_d');
                        echo 
                        $filename// 03-2019_01_14-2019_01_20 
                        Extension dran und fertig.
                        Anpassungen am Aussehen kannst du selber vornehmen.
                        Danke postfix, das ist genial!!!

                        Kommentar

                        Lädt...
                        X