Ankündigung

Einklappen
Keine Ankündigung bisher.

Bestes Datumsformat für Zeitrahmenabfrage?

Einklappen

Neue Werbung 2019

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

  • Bestes Datumsformat für Zeitrahmenabfrage?

    Hallo liebe Forengemeinde!

    Meine Teichsteuerung liefert mir ein Datalog, welches ich dann in ein Array einlese. Zur Abfrage bestimmter Zeitintervalle (Spülungen pro Stunde innerhalb 24 Stunden, pro Woche und pro Monat) frage ich mich nun ob ich das Datum und die Uhrzeit in den timestamp umwandeln soll. Denn das Problem das ich habe ist, dass die Minuten und Sekunden der Uhrzeit OHNE führende Nullen angegeben sind (siehe Anhang). Ansonsten liegt es im Format "n/j/Y G??"

    Was wäre das sinnvollste? Umwandeln in einen timestamp? Oder was meint ihr?
    Angehängte Dateien

  • #2
    Timestamp oder DateTime-Instanzen.

    Kommentar


    • #3
      Klar DateTime!
      date_create_from_format kann ja schon viel erschlagen. Es fehlen leider nur die Formatangaben für Minuten/Sekunden ohne Vornullen.
      Als Workaround kann ich das anbieten:
      PHP-Code:
      $dateStr '9/30/14 0:7:19';

      $dateStr preg_replace('~:(\d)(?=:|$)~',':0$1',$dateStr);  //setzt fehlende 0 bei Bedarf zu  
      $date date_create_from_format('n/j/y G:i:s',$dateStr); 

      LG jspit

      Kommentar


      • #4
        Warum Workaround, DateTime kann damit doch um:
        PHP-Code:
        $sDateTimeSource '9/30/14 0:7:19';
        $oDateTimeObject = new DateTime$sDateTimeSource );

        echo 
        $oDateTimeObject->format'd.m.Y H:i:s' ); 
        Code:
        30.09.2014 00:07:19

        Kommentar


        • #5
          Ich war mir da nicht so sicher, ob auch Strings wie '7/8/9' immer richtig interpretiert werden.

          Kommentar


          • #6
            Zitat von jspit Beitrag anzeigen
            Ich war mir da nicht so sicher, ob auch Strings wie '7/8/9' immer richtig interpretiert werden.
            ja, als 8 Juli 2009

            Kommentar


            • #7
              Vielen Dank für eure Antworten. Ich habe das ganze gestern mal mittels einer massiven explode()-Orgie gelöst und die Daten in einen Timestamp umgewandelt.

              Kommentar


              • #8
                Ich habe das ganze gestern mal mittels einer massiven explode()-Orgie gelöst und die Daten in einen Timestamp umgewandelt.
                Du blinkst auch links, wenn Du rechts abbiegen willst, oder?

                Kommentar


                • #9
                  Zitat von Arne Drews Beitrag anzeigen
                  Du blinkst auch links, wenn Du rechts abbiegen willst, oder?
                  Ne, er blinkt nur an der Seite wo grad Hunde laufen. Würstchen-Blinker.

                  Kommentar


                  • #10
                    Nein, ich halte meine Hand links raus und deute über das Dach nach rechts. Denn das Resultat ist ja korrekt! :P

                    Kommentar


                    • #11
                      Nun mal Spass beiseite. Warum macht du einen Handstand wenn hier im Thread auch noch meine leichten Bedenken weggefegt wurden und durch den Vorschlag von Arne das Problem zum Einzeiler schrumpft?

                      Kommentar


                      • #12
                        ?!?!?! Ich mache einen Handstand? Keine Ahnung was das bedeuten soll, jedoch habe ich doch schon lange geschrieben dass ich mich für den Vorschlag recht herzlich bedanke, ihn auch das nächste Mal sicher anwenden werde, zwischenzeitlich das "Problem" einfach mit einem Workaround gelöst habe?! Auch das Format "timestamp" habe ich angewendet...

                        DANKE NOCHMAL!

                        Kommentar


                        • #13
                          timestamp ist kein spezifisches format, eher eine Gruppierung von Formaten.

                          Das was da hast ist eine abgewandelte ( denormalisierte ? ) Form des (My)SQL Date Time Timestamps.
                          Reguläre (Unix-)Timestamps sind die Summe der Sekunden die seit dem 01.01.1970 00:00:00 UTC vergangen sind.

                          Kommentar

                          Lädt...
                          X