Re: @pouraga: Re: Zeitdifferenz zwischen 2 Uhrzeiten darstellen - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    Beitrag von Pouraga (1396 Beiträge) am Dienstag, 6.Mai.2003, 16:49.
    Re: @pouraga: Re: Zeitdifferenz zwischen 2 Uhrzeiten darstellen

      Ne kann ja auch nicht funktionieren.

      1.
      Du hast meine Berechnung des Alters von jemanden ja auch nur 1 zu 1 kopiert und die Variablen in sekunden geändert. Für deinen fall würde der Ansatz eher so aussehen.

      my $startsekunden = datum("$start", "Sekunde") + (datum("$start", "Minuten") * 60) + (datum("$start", "Stunden") * 1200) + ...
      


      Mir fällt ein ich habe mal damals was mit "time" gemacht (ist dann schon in Sekunden). Also bin vom BP Zeitformat ganz weg gegangen. Wenn du nur den Unterschied berechnenen möchtest und es grossartig nichts anderes machen willst kann das die Sache erleichtern.


      2. Was möchtest du denn jetzt für eine Zeitdifferenz haben? Die zwischen 2 Einträgen oder die zwischen aufrufen und entfangen des Formulars?


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von nezpercez (500 Beiträge) am Montag, 5.Mai.2003, 13:29.
    Zeitdifferenz zwischen 2 Uhrzeiten darstellen

      Guten Tag,

      Ich steh mal wieder auf dem Schlauch, hab ausführlich im Forum geforscht und nix gefunden....

      1.) wie kann ich die Zeitdifferenz zwischen 2 Uhrzeiten (Datumsfeldern)in ein drittes Feld (Typ Zahl) beim Abspeichern, und zwar als Sekunden eintragen lassen? (z.B. 12:05.00 - 12:04.30 = 30)

      Mein Versuch:
      $_put{Zeit}=$_put{Datenfeld1}-$_put{Datenfeld2}; 
      
      ging in die Hose: definiere ich das Feld "Zeit" als Datumsfeld, kriege ich als Ergebnis ständig Minute,Sekunde des Datenfeldes1 mit Stunde = 0 wieder (also im obigen Beispiel 00:05.00). Definiere ich es als Zahlenfeld, ist das Ergebnis stets Null.

      2.) jetzt=aktuelles Datum. Wie drücke ich die aktuelle Uhrzeit aus?

      3.) wie berechne ich den Mittelwert aller Einträge eines Zahlenfeldes?


      viele Fragen, desperately hoping for an answer, np

     Antworten

    Beitrag von Pouraga (1396 Beiträge) am Montag, 5.Mai.2003, 21:21.
    Re: Zeitdifferenz zwischen 2 Uhrzeiten darstellen

     Antworten

    Beitrag von nezpercez (500 Beiträge) am Dienstag, 6.Mai.2003, 11:21.
    @pouraga: Re: Zeitdifferenz zwischen 2 Uhrzeiten darstellen

      Lieber Senor Pourage,

      vielen Dank, aber: es klappt immer noch nicht, irgendeinen Wurm habe ich eingebaut....

      Ich bekomme als Zeitdifferenz in Sekunden immer nur "7" heraus...
      schau selbst:
      http://lupara.org/baseportal/timetest

      (ich würde übrigens gerne auch das feld "start" mit formfields=- ausblenden und stattdessen den Zeitpunkt des Aufrufens dieses Formulares mit übergeben.
      Ziel ist, die Laufzeit zwischen absoeichern des letzten Datensatzes und abspeichern des nächsten Datensatzes als Zeit in Sekunden in dem Zahlenfeld "Zeit" darzustellen. Du hattest mir in einem anderen Beitrag (http://baseportal.de/cgi-bin/baseportal.pl?htx=/baseportal/forum&wcheck=1&Pos=7781.5) einen Tip gegeben, den ich jedoch nicht realisieren konnte. Aber das ist ein anderes Problem.

      Wie dem auch sei:
      der Code im Formular lautet wie folgt:
      -----------------------------------------
      <html><head></head><body bgcolor="white">
      

      <perl>

         if(%_put)
      {
      get "Id==$_get{Id}","timecontrol";
      $_put{Id}=$Id; # Id 
      $_put{Abteilung}=$Abteilung; # Abteilung
      my $zeit1 = datum("$stop", "Sekunde") - datum("$start", "Sekunde");
      $zeit1-- if (datum("$stop", "Sekunde") < datum("$start", "Sekunde"));
      $zeit1-- if (datum("$stop", "Sekunde") == datum("$start", "Sekunde") && datum("jetzt", "Sekunde") < datum("$start", "Sekunde"));
      $_put{Zeit}=$zeit1; # Zeit 
      }
      

      </perl>
      <do action=all db=timecontrol Abteilung==Neufahrzeuge sort=-Datum,-stop listfields=start,stop,Zeit formfields=-Abteilung,Taetigkeit_G,Taetigkeit_N,Taetigkeit_V,Taetigkeit_W,Zeit spacing=1 border=0 gridcolor=teal padding=1 range=0,100 dataface=Arial datacolor=black datasize=2 databack=white dataalign=left headface=Arial headcolor=black headsize=2 headback=silver headalign=left headsize=2 headalign=left maxlistlength=50 showamount=no detail=no selectbrowse=top indexbrowse=no pagebrowse=no buttonbrowse=no listtype=list input=top search=no>
      </body></html>
      
      ----------------------------------------

      würde mich sehr über weitere Hilfe freuen....
      np

     Antworten

    Beitrag von Pouraga (1396 Beiträge) am Dienstag, 6.Mai.2003, 16:49.
    Re: @pouraga: Re: Zeitdifferenz zwischen 2 Uhrzeiten darstellen

      Ne kann ja auch nicht funktionieren.

      1.
      Du hast meine Berechnung des Alters von jemanden ja auch nur 1 zu 1 kopiert und die Variablen in sekunden geändert. Für deinen fall würde der Ansatz eher so aussehen.

      my $startsekunden = datum("$start", "Sekunde") + (datum("$start", "Minuten") * 60) + (datum("$start", "Stunden") * 1200) + ...
      


      Mir fällt ein ich habe mal damals was mit "time" gemacht (ist dann schon in Sekunden). Also bin vom BP Zeitformat ganz weg gegangen. Wenn du nur den Unterschied berechnenen möchtest und es grossartig nichts anderes machen willst kann das die Sache erleichtern.


      2. Was möchtest du denn jetzt für eine Zeitdifferenz haben? Die zwischen 2 Einträgen oder die zwischen aufrufen und entfangen des Formulars?

     Antworten

    Beitrag von nezpercez (500 Beiträge) am Dienstag, 6.Mai.2003, 18:04.
    Re: @pouraga: Re: Zeitdifferenz zwischen 2 Uhrzeiten darstellen

      Lieber Pouraga,

      danke für Deine Hilfe,
      @2.)  "Was möchtest du denn jetzt für eine Zeitdifferenz haben? Die zwischen 2 Einträgen oder die zwischen aufrufen und entfangen des Formulars?"
      

      Antwort: das ist knifflig auszudrücken:
      Ich erklär, glaube ich mal, was hinten rauskommen soll:
      Ich versuche für meine Kollegen eine Zeiterfassungssoftware zu basteln.
      Die soll dergestalt funktionieren, daß jegliche Tätigkeit verschlüsselt wird.
      Will heißen: die Zeiterfassung läuft wie im richtigen Leben: Auch Untätigkeit ist ja orgendeine Art Tätigkeit.
      Daher: Wenn der Kollege seinen Arbeitstag beginnt, öffnet er die Seite (das Formular) , und dieser Zeitpunkt des Öffnens muß als Feld "start" später abgespeichert werden. Beim Abspeichern selber wird ja, das ist ja über BP einfach zu realisieren, das Zeitfeld "stop" abgespeichert. So, und mit dem Abspeichern des 1. Datensatzes wird ja direkt ein 2. Datensatz vorgegeben (und diesen Zeitpunkt, der ja identisch ist mit dem Abspeicherungs ("stop") Zeitpunkt des vorhergehenden Datensatzes, den brauche ich), der auch irgendwann mal abgespeichert wird.

      Insofern: Was ich brauche, ist die Zeit zwischen start und stop, egal, wie man die Ausdrückt und zwar soll die beim Abspeichern in ein Zahlenfeld ("Zeit") geschrieben werden.

      vielen lieben Dank für Deine Mühe, np

     Antworten

    Beitrag von Pouraga (1396 Beiträge) am Dienstag, 6.Mai.2003, 19:22.
    Re: @pouraga: Re: Zeitdifferenz zwischen 2 Uhrzeiten darstellen

      Ich glaube ich habe verstanden was du vorhast! (und es ist nicht einfach)

      Ich würde das dann aber anders machen:
      Du bildest dir nen session. Zufallszahl oder Buchstabenkauderwelsch, egal. Wenn beim Aufruf der Seite keine Session übergeben wird dann wird ein neuer Datensatz angelegt und die session sowie die Momentane Zeit in Felder abgelegt (ob das jetzt mit time in sekunden ab.. oder im Baseportalformat ist beleibt dir überlassen)
      Dort auf der Seite ist auch ein Link "bin noch da" oder so. Wenn man den anklickt wird die Seite neu geladen, diesmal wird aber die session übergeben. Das Template schreibt dann in ein weiteres Feld des Datensatz mit der session in der DB die momentane Zeit.


      Hab sowas ähnliches um die Aufenthaltsdauer von Besuchern auf meiner Page zu messen (hier ist es die IP und keine session die, die Zuordnung macht, kannst ja auch zusätzlich machen)

      Hier der code (ist wieder nur als Beispiel zu sehen, die Felder Typ,Besucher und Zugriffe brauchst du nicht):

       
      get "Typ==einzel&IP==$_REMOTE_ADDR","statistik";
      

      if ($_amount == 0){
      put ["Typ","einzel","IP",$_REMOTE_ADDR,"Start","jetzt","Ende","jetzt","Besucher","1","Zugriffe","1"],"statistik";
      }
      else{
      mod "Typ==einzel&IP==$_REMOTE_ADDR",["Zugriffe",$Zugriffe + 1,"Ende","jetzt"],"statistik";
      }
      


      Ne anderes Frage ist wie du das ganze manipulationssicher machen möchtest, aber vielicht brauchst du das auch nicht. ;)

     Antworten

    Beitrag von nezpercez (500 Beiträge) am Donnerstag, 8.Mai.2003, 14:28.
    Re: @pouraga: Re: Zeitdifferenz zwischen 2 Uhrzeiten darstellen

      Vielen lieben Dank,
      das muß ich erst mal verdauen, die Perlen, die ich programmiere sind doch noch etwas oberflächlich im Vergleich zu Deinen ausgefuchsten Scripts.

      Ich probiere es, vielen Dank derweil...
      np

     Antworten


     
 Liste der Einträge von 38250 bis 38400:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.06s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!