![]() |
Funktion den Tage eines Jahres zu bestimmen
Hi
ich benötige eine Funktion, um den Tag im Jahr zu bestimmen (quasi eine Funktion analog zu 'DayOfWeek': 'DayOfYear' - wenn's das gäbe). Ich habe es probiert mit Differenzrechnung (Datum1 minus '31.12.' des Vorjahres = Anzahl Tage). Das Problem dabei ist nur, dass ich die Differenz mit einer Extended-Variablen aufnehmen kann (Integer funktioniert nicht), sodann die Umwandlungsfunktion 'FloatToStr' statt 'IntToStr' anwenden muss, was jeweils das max. 3stellige Resultat zur Laufzeit verlängert. Hat mir jemand eine gute Idee? Merci Philippe |
Re: Funktion den Tage eines Jahres zu bestimmen
Hai,
warum adierst Du nicht einfach die Tage der Monate + die Tage des laufenden monats? z.B.: datum = 14.04.2003 Dann einfach die DaysOfMonth von Januar bis März addieren. Prüfen ob es ein Schaltjahr ist und gegebenenfals einen Tag dazu addieren. Jetzt noch die 14 Tage vom April dazu und fertig. Müsste in diesem Fall also 31 + 28 + 30 + 14 = 103 ergeben der 14.04.2004 wäre dann 104. |
Hallo,
vielleicht hilft Dir das:
Code:
function Anzahltage(const aDatum:TDateTime):Integer;
var y, m, d:Word; begin DecodeDate(aDatum, y, m, d); Result:=Round(aDatum-EncodeDate(y, 1, 1))+1; end; // Anzahltage ... Label1.Caption:=IntToStr(Anzahltage(Date)); ... |
Gollum, vielen Dank. Ist genau das was ich brauche.
Gruss Philippe |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:26 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