Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Probleme bei der Zeiterfassung

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Probleme bei der Zeiterfassung

    Hallo, ich kann PHP eigentlich recht gut bloß mit TIMESTAP etc hab ich noch nie geabreitet. folgende anwendung soll daraus gemacht werden, wenn ein user auf einen link klickt soll die uhrzeit als neue zeile in eine tabelle gepsiechert werden, dazu soll es noch eine uhrzeit geben (die schon in der db ist), die sagt wann die zeit abgelaufen ist, könnte ich theoretischer weise "einfach" nen timestap nehmen, das als variable machen und halt minuten als einfache zahk hinzuaddieren um so das datum herauszubekomen, wann es fertig ist? dann bräuchte ich nur noch das fertigstellungsdatum (also die aktuele uhreiz + meine minuten hinzugerechnet) - die serverzeit und ich hätte die verbleibenden minuten, sekunden etc? hoffe ich bin zu verstehen, wenn nicht dann mach ich einfach mal kurz nen coe bsp, ist nicht php aber ich denke man weiß was gemeint ist


    1. timestamp von aktueller zeit machen
    2. diese dann + meine minuten addieren
    3. die zeit wann es fertig ist (also das ergebnis von 2.) als zeile in db speichern
    4. die serverzeit per befehl bekommen
    5. das ergebnis von 2. minus die aktuelle serverzeit = verbleibende zeit



    ist das umsetzbar und intelligent^^?

    mfg JS[/php]

  • #2
    Anstatt Minuten solltest du das in Sekunden addieren.
    Diese Erweiterung ist EXPERIMENTELL.
    [...]
    Seien Sie gewarnt und verwenden Sie diese Erweiterung auf eigenes Risiko..

    Kommentar


    • #3
      mhhh aber ein problem hab ich


      wenn ich jetzt in sekunden addiere rechnet er dfoch nich bis 60 sondern bis 99 und fügt dann erst bei der nächsten ziffer einen höheren wert an odeR? aber eine minute hat ja 60 sek und nich 99...

      Kommentar


      • #4
        häää?

        Wo is da das Problem?
        Du kannst genausogut im Dezimalsystem mit Sekunden rechnen wie weiß ich wo :P

        Kommentar


        • #5
          Mal ein Beispiel:
          PHP-Code:
          <?php
          $now 
          time();
          $gleich $now 3600 //für Schlauberger = Eine Stunde

          print('Jetzt ist es %s, 
           in einer Stunde wird es %s sein.'
          ,
          date("H:i:s"$now),
          date("H:i:s"$gleich),
          ?>
          Diese Erweiterung ist EXPERIMENTELL.
          [...]
          Seien Sie gewarnt und verwenden Sie diese Erweiterung auf eigenes Risiko..

          Kommentar


          • #6
            Zitat von andy
            Mal ein Beispiel:
            PHP-Code:
            <?php
            $now 
            time();
            $gleich $now 3600 //für Schlauberger = Eine Stunde

            print('Jetzt ist es %s, 
             in einer Stunde wird es %s sein.'
            ,
            date("H:i:s"$now),
            date("H:i:s"$gleich),
            ?>
            funktioniert so nicht wirklich..
            :arrow: [URL="http://tiny.cc/0xlvv"]Wie man Fragen richtig stellt[/URL]

            Kommentar


            • #7
              Zitat von dsmcg
              funktioniert so nicht wirklich..
              Warum nicht?

              Kommentar


              • #8
                bei $gleich = $now + 3600

                fehlt ein ";"

                oder irre ich mich da?

                aso 1:1 kopiert kommt bei mir:
                Code:
                Parse error: parse error, unexpected T_PRINT in C:\Programme\xampp\htdocs\dani\timetrie.php on line 5
                scheint also nicht zu funktionieren, ich sag ja nur das wen man es 1:1 kopiert es nicht geht.
                :arrow: [URL="http://tiny.cc/0xlvv"]Wie man Fragen richtig stellt[/URL]

                Kommentar


                • #9
                  Zitat von dsmcg
                  bei $gleich = $now + 3600

                  fehlt ein ";"

                  oder irre ich mich da?
                  Achso, ich dachte vom logischen Aufbau des Scriptes her.

                  Kommentar


                  • #10
                    achsoo, nene das meinte ich nicht
                    :arrow: [URL="http://tiny.cc/0xlvv"]Wie man Fragen richtig stellt[/URL]

                    Kommentar


                    • #11
                      Kleine Funktion dazu:

                      PHP-Code:
                      <?php
                      /**    Umrechnung in Sekunden
                       * @param int $anzahl
                       * @param string $format
                       * @return int $sekunden
                       */
                      function sekunden($anzahl$umrechnung="minuten") {
                          if(!
                      is_int($anzahl))
                              return -
                      1;
                          if(!
                      is_string($umrechnung))
                              return -
                      1;
                          
                          switch(
                      $umrechnung) {
                              
                      // Minuten
                              
                      case "minuten":
                                  return 
                      $anzahl*60;
                                  break;
                              
                      // Stunden
                              
                      case "stunden":
                                  return 
                      $anzahl*60*60;
                                  break;
                              
                      // Tage
                              
                      case "tage":
                                  return 
                      $anzahl*60*60*24;
                                  break;
                              
                      // Wochen
                              
                      case "wochen":
                                  return 
                      $anzahl*60*60*24*7;
                                  break;
                              
                      // Monate
                              
                      case "monate":
                                  return 
                      $anzahl*60*60*24*30;
                                  break;
                              
                      // Jahre
                              
                      case "jahre":
                                  return 
                      $anzahl*60*60*24*365;
                                  break;
                              default:
                                  return -
                      1;
                          }
                      }

                      $sekunden_von_2_tagen sekunden(2"tage");

                      echo 
                      $sekunden_von_2_tagen;
                      ?>
                      Die Multiplikation habe ich nur zur Veranschaulichung mal reingemacht.
                      Generell ist diese Funktion veranschaulichend.
                      Man sollte bei so etwas eigentlich generell mktime(); verwenden.

                      Beachten: Monate werden Standardmäßig mit 30 Tagen bewertet, Jahre standardmäßig mit 365 Tagen. Die sind aber auch nur der Vollständigkeit halber drin.
                      Tutorials zum Thema Technik:
                      https://pilabor.com
                      https://www.fynder.de

                      Kommentar


                      • #12
                        Man kann aber auch kleinlich sein

                        Kommentar

                        Lädt...
                        X