-
SUBDUR oder auch %DIFF
Hallo zusammen,
ich errechne die Differenz zweier Datumsfelder in Monaten:
datum1 subdur datum2 monate:M
oder auch
eval monate = %diff(datum1:datum2:*M)
Beispiel
datum1 = 31.03.2008
datum2 = 01.01.2008
Jetzt ergibts das doch tatsächlich 2 Monate !?!
Ich hätte jetzt 3 erwartet, der Anwender auch !!!
Mache ich etwas falsch oder sehe ich das nur falsch ?
Natürlich, streng gerechnet sind das keine vollen 3 Monate, liegt es daran ?
Bitte um eure Hilfe !
Danke
peet
-
Genau!
Immerhin fehlt da ja noch ein Tag und das Ergebnis wird abgeschnitten.
3 - 1 ist ja auch nicht 3 sondern 2.
Du musst halt 1 Tag dazunehmen, wenn du "inclusiv" rechnen willst:
%diff(Datum1 + %days(1) : Datum2 : *M)
-
Bei der Datums- und Zeitrechnung wird in RPG niemals gerundet, sondern immer abgeschnitten.
Dabei wird nur die Ergebnis-Einheit und die höheren Einheiten berücksichtigt. In Deinem Fall wird also nur das Jahr und der Monat berücksichtigt.
Die Differenz von 2008/03 - 2008/01 beträgt 2
Der folgende Absatz stammt aus der RPG Reference (Built-in-Functionn %DIFF)
The difference is calculated by subtracting the second operand from the first.
The result is rounded down, with any remainder discarded. For example, 61 minutes is equal to 1 hour, and 59 minutes is equal to 0 hours.
Birgitta
-
Uralt, ich weis ...
Trotzdem... heute im Debug ...
eval wert = %diff(%date():mo1:*M)
mit MO1 = 2023-11-30 (Typ D)
Ergebnis 9!
Also %diff(2024-09-16:2023-11-30) in Monaten = 9?
Warum nicht 10
Das krieg ich nicht auf die Reihe
Danke
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
Die Rechnung, ist irgendwo beschrieben, macht (days(date1) - days(date2)) / 30.
Rechne einfach in Excel nach:
16.09.24 - 30.11.23 = 291 Tage, / 30 = 9,7 Monate, abgeschnitten = 9
Da ja nicht gerundet wird.....
Sämtliche Differenz-Routinen mit Datum nehmen leider 30 Tage je Monat und 365 Tage je Jahr.
In SQL hast du ähnliche funktionen, alledings mit Floor(...) wird immer aufgerundet, bzw. bei negativen Werten abgerundet.
Similar Threads
-
By Peter Kosel in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 03-12-03, 11:10
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks