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

  • Gast-Avatar
    Ein Gast erstellte das Thema [Erledigt] Probleme bei der Zeiterfassung.

    [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]

  • Gast-Avatar
    Ein Gast antwortete
    Man kann aber auch kleinlich sein

    Einen Kommentar schreiben:


  • Andreas
    antwortet
    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.

    Einen Kommentar schreiben:


  • dsmcg
    antwortet
    achsoo, nene das meinte ich nicht

    Einen Kommentar schreiben:


  • xabbuh
    antwortet
    Zitat von dsmcg
    bei $gleich = $now + 3600

    fehlt ein ";"

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

    Einen Kommentar schreiben:


  • dsmcg
    antwortet
    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.

    Einen Kommentar schreiben:


  • xabbuh
    antwortet
    Zitat von dsmcg
    funktioniert so nicht wirklich..
    Warum nicht?

    Einen Kommentar schreiben:


  • dsmcg
    antwortet
    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..

    Einen Kommentar schreiben:


  • andy
    antwortet
    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),
    ?>

    Einen Kommentar schreiben:


  • Jojo1
    antwortet
    häää?

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

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    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...

    Einen Kommentar schreiben:


  • andy
    antwortet
    Anstatt Minuten solltest du das in Sekunden addieren.

    Einen Kommentar schreiben:

Lädt...
X