Ankündigung

Einklappen
Keine Ankündigung bisher.

Zeit addieren

Einklappen

Neue Werbung 2019

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

  • Zeit addieren

    Hallo,

    ich möchte eine Zeitvariable (Bsp: 20:06:04) die ich per
    time() ausgelesen und per date() formatiert habe, immer auf die vollen
    15 Minuten runden lassen.

    Ich google schon die halbe Nacht durch sNetz...aber ich kann nix
    brauchbares finden

    Könnt ihr mir helfen wie so etwas zu bewerkstelligen ist?

    Danke!

    LG André

  • #2
    Die Frage gabs vor ner Weile hier schon mal. Bitte benutze die Forensuche!
    [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
      Ja genau die Frage habe ich hier schon mal gestellt, weil ich auch irre gewurden bin

      Ich habe dann alles über [MAN]mktime[/MAN] gemacht und fahre damit sehr gut.

      gruß litter
      Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
      [URL]http://www.lit-web.de[/URL]

      Kommentar


      • #4
        Runden im mathematischen Sinne oder immer Auf-/Abrunden?
        Ganz praktisch kann hier auch die Funktion [MAN]strtotime[/MAN] sein.

        Meine Idee wäre (mathematisches runden)
        PHP-Code:
        $time time();
        $m date("i"$time) % 15 15 date("i"$time) % 15 date("i"$time) % 15 * -1;
        echo 
        date("G:i"strtotime("$m Minutes"$time)); 
        [IMG]http://media.ubuntuusers.de/portal/files/ubuntu.png[/IMG][IMG]http://sqlmanager.net/i/ico/mysql.gif[/IMG][SIGPIC][/SIGPIC]

        Kommentar


        • #5
          Da hier kein mathematisches Runden gefragt ist und der Timestamp bekannt ist(?), würde ich es so lösen:

          PHP-Code:
          $timestamp time();
          $timediff $timestamp % (15 60);     // Differenz ermitteln (15 * 60s = 15 Min.)
          $timestamp += ((15 60) - $timediff);  // Differenz hinzufügen (15 Min. - Differenz zu 15 Min.)
          date('H:i:s'$timestamp); 

          Interpretiertes Runden (ab 7,5 Min. aufrunden, sonst abrunden):
          PHP-Code:
          $timestamp time();
          $timediff $timestamp % (15 60);    // Differenz ermitteln (15 * 60s = 15 Min.)
          if ( ((15 60)/2) < $timediff )
          {
             
          /* Differenz hinzufügen (15 Min. - Differenz zu 15 Min.) */
             
          $timestamp += ((15 60) - $timediff);  
          }
          else
          {
             
          /* Differenz abziehen */
             
          $timestamp -= $timediff;
          }
          date('H:i:s'$timestamp); 

          Sollte das Datum nicht im Timestamp vorliegen, kann man dies mittels RegEx und mktime ändern.

          Kommentar

          Lädt...
          X