Ankündigung

Einklappen
Keine Ankündigung bisher.

Uhrzeit runden

Einklappen

Neue Werbung 2019

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

  • Uhrzeit runden

    Hallo!
    Ich habe ein Formular wo ein Benutzer eine Uhrzeit eingeben kann.
    Jetzt möchte ich gerne wissen ob es möglich ist dass wenn der Benutzer z.B. 12:05 eingibt automatisch auf 12:15 gerundet wird ohne das der Benutzer dies mitbekommt. Gerundet sollte in 15 min. Schritten.
    Wenn der Benutzer 12:15 eingibt sollte natürlich nicht auf 12:30 greundet werden.

    Vielen Dank im Voraus
    Gruß

  • #2
    Eigene Ansätze? Ja, es ist möglich.
    [COLOR="#F5F5FF"]--[/COLOR]
    [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
    [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
    [COLOR="#F5F5FF"]
    --[/COLOR]

    Kommentar


    • #3
      Um auf deine Frage zu antworten: Ja!

      Gibt mehrere Möglichkeiten, z.B. kannst Du den String splitten und die letzten 2 Zeichen prüfen und in einer Switch Case Abfrage dann entsprechend bearbeiten und wieder zusammensetzen.

      Wolf29
      while (!asleep()) sheep++;

      Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

      Kommentar


      • #4
        Viel zu umständlich.
        [COLOR="#F5F5FF"]--[/COLOR]
        [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
        [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
        [COLOR="#F5F5FF"]
        --[/COLOR]

        Kommentar


        • #5
          Ja, das stimmt.

          Eleganter ist es sicherlich da z.B. mit Timestamps zu arbeiten. Da aber kein Ansatz von 1988UR vorliegt, habe ich ihm zu mindestens versucht schon mal auf ein Idee zu bringen.

          Wolf29
          while (!asleep()) sheep++;

          Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

          Kommentar


          • #6
            versucht hab ich
            PHP-Code:
            $time floor($Uhrzeitv/60*4)/4*60

            Kommentar


            • #7
              PHP-Code:
              round($minuten/60*4)/4*60
              Edit: Hmm, da war er schneller. Frage: Wolltest du auf, ab oder zum dichteren runden?


              Kommentar


              • #8
                Danke erst mal für die Antworten!
                Ich möchte aufrunden ausser wenn der Benutzer 15min, 30min, 45min oder 00 eingibt dann sollte nicht mehr gerundet werden.

                Danke
                Gruß

                Kommentar


                • #9
                  Antwort von BattleMaster246 gelesen?

                  Wolf29
                  while (!asleep()) sheep++;

                  Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

                  Kommentar


                  • #10
                    Wenn man z.B. 15 eingibt müsste ja mit der Rechnung 15 rauskommen.

                    Für aufrunden musst du ceil() benutzen.


                    Kommentar


                    • #11
                      @BattleMaster246
                      hast recht muss ja 15 rauskommen!
                      mit ceil() sollte es funktionieren ich muss noch etwas ändern das natürlich nur die Minuten gerundet werden.
                      bzw. kann man das ceil() auch in einem preg_match() einbauen??

                      Danke

                      Kommentar


                      • #12
                        Was hast du denn damit vor? Ich glaube du meinst preg_replace() ?


                        Kommentar


                        • #13
                          na es war nur so ein Gedankenstoß von mir da ich nämlich überprüfe ob im Formular die Uhrzeit richtig eingegebn wurde
                          PHP-Code:
                          elseif(!isset($_POST['Uhrzeitv']) ||!preg_match("/^(?:[01]?[0-9]{1}|2[0-3]{1}):[0-5]?[0-9]$/", $time=$_POST['Uhrzeitv'], $matches)) //!preg_match wird geprüft ob die Uhrzeit richtig in das Formular eingegebn wurde
                                  {
                                  echo '<p align="center">Bitte geben Sie eine korrekte Uhrzeit ein<br><br></p>'?><p align="center"><a href="xxx.php">Zurück</a></p><?php;
                                  }

                          Kommentar


                          • #14
                            Solltest Du nicht machen. Über date kommst Du easy an Teilbestandteile eines Datums. Mit ganzzahliger Division kannst Du gut die Quartale erzeugen.
                            [COLOR="#F5F5FF"]--[/COLOR]
                            [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                            [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                            [COLOR="#F5F5FF"]
                            --[/COLOR]

                            Kommentar


                            • #15
                              Achso.

                              PHP-Code:
                              preg_match("/^[0-9]{1,2}\:[0-9]{1,2}$/",$zeit


                              Kommentar

                              Lädt...
                              X