Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

DateDiff

Empfohlene Antworten

Veröffentlicht

Hallo,

ich habe folgenden Fall:

Ich muss eine Reisekostenabrechnung erstellen in der man folgende Dinge eingeben kann:

1. Ort

2. Abfahrtezeit + Datum

3. Ankunftszeit + Datum

Dann wird der Tagessatz automatisch berechnet. Ich habe bisher alles in Visual Basic gemacht doch ich habe Probleme bei der Berechnung der Dauer der Reise, denn es soll ein ganzer Tag gezählt werden wenn die Reise länger als 12 Stunden gedauert hat, wenn sie kürzer war sollen die STunden gezählt werden. Ich habe es wie folgt versucht:

AbT = AbTag.Value

AbM = ABMonat.Value

AbJ = AbJahr.Value

AbZ = AbZeit.Value

AnT = AnTag.Value

AnM = AnMonat.Value

AnJ = AnJahr.Value

AnZ = AnZeit.Value

Dauer = DateDiff("h", AbT + " ." + AbM + "." + AbJ + " " + AbZ, AnT + " ." + AnM + "." + AnJ + " " + AnZ)

If Dauer > 12 Then

Stunden = Dauer Mod 24

Tage = (Dauer - Stunden) / 24

Else

Tage = 0

Stunden = Dauer

End If

DAS PROBLEM: hier rechne ich die gesamten Stunden zusammen und teile sie dann in Tage und Stunden auf. Das Problem liegt am Abfahrts- und Ankunftstag. Wenn ich am Abfahrtstag vor 12 Uhr weggefahren bin, soll er einen ganzen Tag zählen umgekehrt genauso und wenn ich am Ankunftstag nach 12 Uhr zurück gekommen bin soll er genauso einen ganzen Tag rechnen. Bsp. Reise war von 01. April 06.00 Uhr bis 05. APril 16.00 Uhr. In meiner bisherigen Variante gibt er 4 Tage und 10 Stunden aus, aber es sind eigentlich 5 Tage und 0 Stunden, da der 06. April als ganzer Tag gezählt wird und nicht als Differenz zwischen 06.00 uhr und 16.00 Uhr.

Ich hoffe jemand kann mir helfen. Ich wäre wirklich sehr dankbar dafür.

Liebe Grüße,

Radina

hallo

an der datediff funktion würd ich gar nix mehr ändern.

stattdessen würde ich noch ein paar if abfragen einbringen

wenn die ankunft nach 12 uhr ist und der ankunftstag ein anderer ist als der abfahrtstag -> wird ein tag statt die stunden dazugezählt

wenn die ankunft vor 12 uhr ist und der ankunftstag ein anderer ist als der abfahrtstag -> werden die stunden gezählt, so wie jetzt

wenn die abfahrt vor 12 uhr ist und der ankunftstag ein anderer ist als der abfahrtstag -> wird ein tag statt die stunden dazugezählt

so in etwa..

alternativ solltest du nachdenken ob du nicht einfach die abfragen machst und dann einfach die an und abfahrtszeit so normiert überschreibst, dass das richtige ergebniss raus kommt - ist wahrscheinlich geschickter

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.