Rechnen mit Uhrzeiten

  • Hallo zusammen,


    ich brauche mal Eure Hilfe!
    Ich probiere seit Tagen eine vernünfitge Berechnung für meine (eigentlich total einfache) Idee.
    Ich möchte meine reine Arbeitszeit ausrechen in einer Android App.
    Undzwar habe ich dafür ein Datum inkl Uhrzeit in Millisekunden als Startdatum und das gleiche nochmal als Enddatum.
    Also muss ich z.B. arbeiten von Samstag 09:00Uhr (Startdatum in Millis) bis Samstag 16:00Uhr (Enddatum).


    Nun will ich erstmal die komplette Zeit ausrechen (EndDatum - StartDatum), dann meine Pausenzeiten abziehen und somit die reine Arbeitszeit erhalten.
    Die Pausenzeiten definiere ich in einer if-Verschachtelung.


    Ich habs mit java.util.Date und JodaTime probiert. Allerdings ohne Erfolg.
    Entweder fehlt immer irgendwo eine Stunde oder ich habe Probleme mit dem Format HH:mm .
    Hat jemand eine Lösung für dieses (einfache) Problem??
    Ich wäre sehr sehr dankbar!!
    Gruß


    M3doXX

  • Hi.


    Habs jetzt auch mit Calendar versucht, leider ohne Erfolg.
    Ich kriege bei der Differenz von End- und Startdatum immer eine Stunde zuviel. Woran könnte das liegen?
    Habe auch schon mit der TimeZone versucht, aber auch dann blieb der Erfolg leider aus ;(
    Zur Info: Die Start- und Enddaten hole ich aus meinem Google Kalender als Millisekunden.

  • Vielleicht könntest du mal deinen Code posten. Vielleicht ist es ja nur ein kleiner Fehler ;)

    MfG,
    Christopher


    Eine gewisses Maß an Freundlichkeit kann man auch von Menschen im Internet erwarten.
    Das Forum basiert komplett auf der Freiwilligkeit ihrer Nutzer und diese sollen sich wohlfühlen! Daher seid bitte freundlich. Danke

  • Java
    Date calStart = new Date(d.getStartMillis());
    System.out.println("Start " + calStart);
    Date calEnd = new Date(d.getEndMillis());
    System.out.println("End " + calEnd);
    			
    long difference = calEnd.getTime() - calStart.getTime();
    
    
    Date fullTime = new Date(difference);
    System.out.println("Arbeitszeit: " + fullTime);


    So sieht der Code im Moment aus. (Er sah schonmal komplett anders aus).
    Das Problem ist ja, dass bei der Differenz eine Stunde zuviel rauskommt und ich glaube! ich habe den Fehler gefunden.
    Das Start und Enddatum wird in MESZ angegeben und das fullTime-Datum in MEZ.
    Kann ich die Sommerzeit da irgendwie mit einstellen?

  • Warum rechnest du das nicht gleich so aus wie hier: http://stackoverflow.com/quest…e-time-difference-in-java
    Also mit der difference/gewünschte Zeit ;)

    MfG,
    Christopher


    Eine gewisses Maß an Freundlichkeit kann man auch von Menschen im Internet erwarten.
    Das Forum basiert komplett auf der Freiwilligkeit ihrer Nutzer und diese sollen sich wohlfühlen! Daher seid bitte freundlich. Danke

    Einmal editiert, zuletzt von Kogoro ()

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!