Convert Gregorianisches Datum -> Julianisches Datum

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
8 Beiträge • Seite 1 von 1
8 Beiträge Seite 1 von 1

Convert Gregorianisches Datum -> Julianisches Datum

Beitrag von michael baum ( / / 0 / 3 ) »
hi,

gibt es im sap einen funktionsbaustein/bapi für
die berechnung des julianischen datums ?

thx

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Hallo Michael,

scheint eher nicht der Fall zu sein.
Ich habe mal nach *DATE* bzw. *JUL* gesucht. Bei der Treffermenge von *DATE* hat die weitere Suche nach 'greg' ('jul' hat garnichts gefunden) nur den CALENDER_FOR_F4_DATE gefunden, der aber nicht die gewünschte Funktion bietet.
PS: Release ist 4.7

Ich wüsste nicht einmal den korrekten Umrechnungsalgorithmus. :(

Neugier:
für was benötigst Du denn die Umrechnung?
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von black_adept (Top Expert / 4155 / 134 / 958 ) »
Hmmm - ABAP rechnet doch intern auch mit sowas ähnlichem wie dem julianischen Datum. Aber SAP benutzt als Referenzpunkt den 1.1.0001 (bzw. 0 = ein Tag davor ) und der julianische Kalender ein Datum irgendwo vor ca. 6500 Jahren.
Eigentlich sollte eine Umrechnung ( von aktuelleren Daten ) dann durch addieren einer Konstante möglich sein.

Normalerweise wird doch das julianische Datum benutzt um den Abstand diverser Daten voneinander bestimmen zu können. Aber das kann ABAP doch von sich aus.

Code: Alles auswählen.

REPORT zsstest3 LINE-SIZE 500.


DATA: d1 TYPE sydatum VALUE '20050101',  " 1.1.2005
      d2 TYPE sydatum VALUE '20050606',  " 6.6.2005
      i  TYPE i.

END-OF-SELECTION.
  i = d2 - d1.

  WRITE:/ d2,'zu',d1,': Abstand =',(4) i,'Tage'.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

umrechnung

Beitrag von michael baum ( / / 0 / 3 ) »
hab mal im netz gesucht und gefunden :

TZ: Tageszählung im jeweiligen Stil, der 1.1.1 erhält TZ 1.
JD: Julianisches Datum, wie oben beschrieben.

function getJDjulianisch(d, m, y)
{
m -= 3;
if (m<0) {m += 12; y--};
TZ = floor (y * 365.25) + floor(m * 30.6 + 0.5) + d - 306;
JD = TZ + 1721423;
}
...und weiter, da ich den julianischen tag brauche:

function makeDatejulianisch(JD)
{
TZ = JD - 1721423 + 306;
jahr = floor((tz - 0.2) / 365.25);
rest = tz - floor(jahr * 365.25);
monat = floor((rest - 0.5) / 30.6);
tag = rest - floor(monat * 30.6 + 0.5);
monat += 3;
if (monat<12) {monat -=12; jahr++};
Datum = new Datum (tag, monat, jahr)
}

...das ganze jetzt noch in abap und fertig ;)

Re: umrechnung

Beitrag von black_adept (Top Expert / 4155 / 134 / 958 ) »
michael baum hat geschrieben:TZ = floor (y * 365.25) + floor(m * 30.6 + 0.5) + d - 306;
*Grübel*
Das Juliansiche Datum kennt scheinbar nicht die Schaltjahrsregeln für Jahre, die durch 100 teilbar sind.

Beitrag von michael baum ( / / 0 / 3 ) »
Der julianische Kalender ist recht regelmässig. Lediglich die Bestimmung der durchschnittlichen Dauer des Monats wirft Probleme auf. Diese kann man dadurch umgehen, dass man den Monatsanfang auf den 1. März verlegt. Die Monate März bis einschliesslich Januar haben im Schnitt 30.6 Tage, die Dauer des Februars spielt nun keine Rolle mehr, da er am Jahresende liegt. Zwischen 1. März und 31. Dezember liegen in jedem Jahr, gleichgültig ob Schalt- oder Gemeinjahr, 306 Tage. Diese muss man am Ende der Rechnung von dem Ergebnis wieder abziehen.
[1]http://www.nabkal.de/umrechnung.html

Beitrag von jth ( / / 0 / 3 ) »
Hallo,

hier zwei Definitionen des julianischen Datums:

"Das Julianische Datum, abgekürzt JD, gibt die Zahl der Tage an, die seit dem 1. Januar 4713 v. Chr. 12:00 Uhr GMT (= JD 0) vergangen sind. Teile eines Tages (Stunden, Minuten, etc.) werden dabei in Nachkommastellen ausgedrückt."

"In der EDV und im Fernmeldewesen wird als Julianisches Datum oft auch die Zahl der Tage bezeichnet, die seit dem 1. Januar eines Jahres vergangen sind (1. Januar = 0 Tage)."
Beide Zitate stammen von wikipedia. (http://de.wikipedia.org/wiki/Julianisches_Datum)
Ich nehme an, die letzte Version ist gemeint; hierzu kannst Du den FB DAYS_BETWEEN_TWO_DATES benutzen oder
die paar Zeilen gleich selbst codieren.

Jürgen

convert

Beitrag von michael baum ( / / 0 / 3 ) »
absolut richtig. danke

Seite 1 von 1

Vergleichbare Themen

5
Antw.
2988
Views
Convert Datum in DB
von nkuhn » 15.03.2007 10:13 • Verfasst in ABAP® für Anfänger
4
Antw.
1673
Views
Daten zwischen Datum A und Datum B
von cecslucas » 13.10.2022 09:44 • Verfasst in ABAP® für Anfänger
9
Antw.
8455
Views
Datum der Transportaufträge
von BlueMC » 22.08.2008 09:52 • Verfasst in Basis
3
Antw.
2550
Views
Sprachabhängiges Datum
von quatschi » 06.01.2010 16:59 • Verfasst in ABAP® für Anfänger
2
Antw.
3035
Views
Datum konvertieren
von Trulchen » 21.02.2014 13:28 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Prüfzeugnisse Anlagen finden
Gestern von ewx 1 / 75
Zukunft des ABAP Entwicklers
vor 5 Tagen von ralf.wenzel 6 / 405
HR in der Zukunft?
vor 5 Tagen von waltersen 5 / 2555
VS Code statt Eclipse
vor 6 Tagen von rob_abc 3 / 188
Dynamischer Titel in CL_GUI_COLUMN_TREE
vor einer Woche von sapdepp 6 / 279

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Prüfzeugnisse Anlagen finden
Gestern von ewx 1 / 75
Zukunft des ABAP Entwicklers
vor 5 Tagen von ralf.wenzel 6 / 405
HR in der Zukunft?
vor 5 Tagen von waltersen 5 / 2555
VS Code statt Eclipse
vor 6 Tagen von rob_abc 3 / 188
Dynamischer Titel in CL_GUI_COLUMN_TREE
vor einer Woche von sapdepp 6 / 279

Unbeantwortete Forenbeiträge

Prüfzeugnisse Anlagen finden
Gestern von ewx 1 / 75
XSLT und Loipro05 Transformation
letzen Monat von Torsten1965 1 / 6167
VOLL Artikel in einem Display Typ 12
November 2025 von ThomasM84 1 / 23862