![]() |
Monatsberechnung: 30 oder 31 Tage herrausfinden
Hi, vergeht ja kaum ein Tag ohne Probleme ^^
ich will das mein Programm aus einer Ini Werte wie gefahrene Kilometer und so ausließt und für den ganzen Monat ausrechnet, aber wie bekomme ich herraus ob der Monat 30 oder 31 Tage hat? Hoffe irgendwer hat ne Idee :o |
Re: Monatsberechnung: 30 oder 31 Tage herrausfinden
EndOfMonth() aus den DateUtils
|
Re: Monatsberechnung: 30 oder 31 Tage herrausfinden
DateUtils bietet da entsprechende Funktionen, sofern >= Delphi7 (oder schon Delphi 6)
ups... 2 Minuten im Editor geschlafen |
Re: Monatsberechnung: 30 oder 31 Tage herrausfinden
Zitat:
Ich habe TurboDelphi |
Re: Monatsberechnung: 30 oder 31 Tage herrausfinden
Datums-Hilfsmittel :mrgreen:
Uses DateUtils; |
Re: Monatsberechnung: 30 oder 31 Tage herrausfinden
Ok, hab mir die Hilfe mal durchgelesen:
Zitat:
Oder ist das im beispiel der Februar? Und vor allem: Ich habe ein EditFeld in das der benutzer das Datum selbst eingibt ich habe also höchstens einen Date wert (StrToDate) und nie den Monat einzeln und so... :coder2: |
Re: Monatsberechnung: 30 oder 31 Tage herrausfinden
Es wird ein TDateTime der letzen Sekunde des letzen Tages zurückgeliefert.
|
Re: Monatsberechnung: 30 oder 31 Tage herrausfinden
ja ok, das hab ich schon verstanden, aber ich will ja alle Daten abfragen die von dem aktuellen Monat kommen und ich kann doch nicht eine TDate mit einem TDateTime vergleichen oder?
|
Re: Monatsberechnung: 30 oder 31 Tage herrausfinden
Lies ein bisschen und mach dich schlau. TDateTime ist ein Extended. Alle Tage seit dem xx.xx.xxxx sind der Ganzzahlige Anteil. Alle Sekunden an diesem Tag der Nachkommateil.
Was du suchst ist DateUtils.DaysInAMonth. Die Parameter musst du dir entsprechend selbstzusammenbasteln (Funktionen in DateUtils). /TDate = 12345,xxx (x undefiniert) TDateTime = 12345,12345 |
Re: Monatsberechnung: 30 oder 31 Tage herrausfinden
Alternativ kannst du auch mal deine Fingerknöchel befragen (einfache aber effektive Regel), denn die Anzahl an Tagen in einem Monat ist immer gleich (Ausnahme: Februar). Deine Frage muss also eigentlich lauten, wie ermittle ich ein Schaltjahr, um für den Monat Februar die korrekte Länge zu ermitteln.
Delphi-Quellcode:
Wenn Schaltjahr dann Februar = 29 Tage sonst 28 Tage.
function isSchaltjahr(jahr:integer):boolean;
begin Result:=(jahr mod 4 = 0) and (jahr mod 100 <> 0) or (jahr mod 400 = 0); end; |
Re: Monatsberechnung: 30 oder 31 Tage herrausfinden
Zitat:
|
Re: Monatsberechnung: 30 oder 31 Tage herrausfinden
Na gut, für die Klugscheißer...
Zitat:
|
Re: Monatsberechnung: 30 oder 31 Tage herrausfinden
Zitat:
Fingerknöchel-Regel...
Delphi-Quellcode:
function TageImMonat(Monat, Jahr:integer):byte;
begin case Monat of 1: Result:=31; 2: if Schaltjahr(Jahr) then Result:=29 else Result:=28; 3: Result:=31; 4: Result:=30; 5: Result:=31; 6: Result:=30; 7: Result:=31; 8: Result:=31; 9: Result:=30; 10: Result:=31; 11: Result:=30; 12: Result:=31; else Result:=0; end; end; |
Re: Monatsberechnung: 30 oder 31 Tage herrausfinden
Ok, danke für die weiteren Tips, habe in der Delphi Hilfe folgendes gefunden:
Delphi-Quellcode:
Das gibt allerdings einen Word wert heraus der die anzahl der Tage enthält für den Monat des in den Klammern angegebenen Datumswertes, also z.B. date oder Now für das aktuelle Datum:
DaysInMonth(date)
Beschreibung Mit DaysInMonth können Sie die Anzahl der Tage in dem Monat abrufen, der durch den mit AValue angegebenen TDateTime-Wert repräsentiert wird. ABER WIE KANN ICH EINEN WORD WERT IN EINEN STRING UMWANDELN??? |
Re: Monatsberechnung: 30 oder 31 Tage herrausfinden
Zitat:
IntToStr() oder Format() BTW: Bitte nicht schreien!!! |
Re: Monatsberechnung: 30 oder 31 Tage herrausfinden
Sorry :oops:
Aber Trotzdem Danke an alle :) |
Re: Monatsberechnung: 30 oder 31 Tage herrausfinden
Zitat:
|
Re: Monatsberechnung: 30 oder 31 Tage herrausfinden
Weil ich eingabefelder für das datum habe und diese speichern alle eingegebenen werte wie gefahrene kilometer und co. unter dem datum als section, nun will ich alle werte des monats auslesen, dafür brauche ich das datum natürlich als String...
|
Re: Monatsberechnung: 30 oder 31 Tage herrausfinden
In eine Ini kannst du aber auch andere Typen als String Speichern
|
Re: Monatsberechnung: 30 oder 31 Tage herrausfinden
ok, das stimmt...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:15 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