![]() |
TDate für negative Jahreszahlen?
Habe gerade das Julianische Datum aus Wikepedia nach Delphi übersetzt,
würde als Rückgabewert gerne TDate statt String haben. Geht das irgendwie für negative Jahre? Delphi macht meines Wissens bei Datum < 1.1.0001 schlapp.
Delphi-Quellcode:
Gruß
implementation
{$R *.dfm} function test(jd:longint):String; var day,month,year:word; greg:longint; A,Alpha,B,C,D,E,F,G,J,M,T,Z:real; {Eingabe: JD (Julianischer Tag) } begin Z:=Int (JD + 0.5); F:=Frac(JD + 0.5); If Z < 2299161 Then A:=Z // 15.10.1582 else begin g:= int((Z-1867216.25) / 36525.25); a:=z+1+g-int(g/4); end; B := A+1524; C := Int((B-122.1)/365.25); D := int(365.25 * C); E := Int((B-D)/30.6001); T := B-D-int(30.6001*E) + F; if(E<14) then M := E-1 else M := E-13; if (M>2) then J := C-4716 else J := C-4715; if j<1 then j:=j-1; T:=trunc(T); result:=FloatToStr(T)+'.'+FloatToStr(M)+'.'+FloatToStr(J); end; //T.M.J = Kalenderdatum von JD procedure TForm1.Button1Click(Sender: TObject); var jd:longint; begin edit1.Text:=test(0); end; end. Wolfgang |
Re: TDate für negative Jahreszahlen?
TDate sollte ein Extended sein und der kann auch negative Werte annehmen. Allerdings kann ich mir vorstellen das die Funktionen zum wandeln von Datum zu String damit dann natürlich nicht klar kommen weil diese mit einem anderen Datum rechnen.
|
Re: TDate für negative Jahreszahlen?
Also 2 Funktionen draus machen, eine für Daten vor und eine nach 1.1.0001,
dann habe ich zumindest für den Bereich >= 1.1.0001 eine mit Tdate als Rückgabewert? |
Re: TDate für negative Jahreszahlen?
Alte Sch..., ich achte in letzter Zeit mal auf die Anzahl der Beiträge in den Benutzer-Beschreibungen, links neben den Postings - und sehe bei SirThornberry : 10.927 Beiträge? Ich hoffe da ist noch Zeit zum Schlafen, Jungs :)
Großes Kompliment an alle Moderatoren und sonstige Problemlöser hier! |
Re: TDate für negative Jahreszahlen?
Hallo,
da läuft ein Bot, der zitiert nur intelligent aus Google ;) *fg* Heiko |
Re: TDate für negative Jahreszahlen?
@hoika
Hast Du meine Fragestellung verstanden? Gruß Wolfgang |
Re: TDate für negative Jahreszahlen?
@Wolfgang: Heiko hat doch nur das Mod-System entlarvt ...
Das war OT :zwinker: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:57 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz