AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Monatsberechnung: 30 oder 31 Tage herrausfinden
Thema durchsuchen
Ansicht
Themen-Optionen

Monatsberechnung: 30 oder 31 Tage herrausfinden

Ein Thema von Fussel9 · begonnen am 5. Jun 2009 · letzter Beitrag vom 5. Jun 2009
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Fussel9
Fussel9

Registriert seit: 25. Mai 2009
322 Beiträge
 
Turbo Delphi für Win32
 
#1

Monatsberechnung: 30 oder 31 Tage herrausfinden

  Alt 5. Jun 2009, 17:45
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
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Monatsberechnung: 30 oder 31 Tage herrausfinden

  Alt 5. Jun 2009, 17:50
EndOfMonth() aus den DateUtils
Markus Kinzler
  Mit Zitat antworten Zitat
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Monatsberechnung: 30 oder 31 Tage herrausfinden

  Alt 5. Jun 2009, 17:52
DateUtils bietet da entsprechende Funktionen, sofern >= Delphi7 (oder schon Delphi 6)

ups... 2 Minuten im Editor geschlafen
  Mit Zitat antworten Zitat
Benutzerbild von Fussel9
Fussel9

Registriert seit: 25. Mai 2009
322 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Monatsberechnung: 30 oder 31 Tage herrausfinden

  Alt 5. Jun 2009, 17:52
Zitat:
aus den DateUtils
sorry, aber was sind die DateUtils... bin leider noch anfänger

Ich habe TurboDelphi
  Mit Zitat antworten Zitat
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Monatsberechnung: 30 oder 31 Tage herrausfinden

  Alt 5. Jun 2009, 17:54
Datums-Hilfsmittel

Uses
DateUtils;
  Mit Zitat antworten Zitat
Benutzerbild von Fussel9
Fussel9

Registriert seit: 25. Mai 2009
322 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Monatsberechnung: 30 oder 31 Tage herrausfinden

  Alt 5. Jun 2009, 18:02
Ok, hab mir die Hilfe mal durchgelesen:

Zitat:
Syntax


[Delphi] function EndOfAMonth(const AYear: Word; const AMonth: Word): TDateTime;


Beschreibung
EndOfAMonth gibt die letzte Millisekunde (23:59:59.999 Uhr) des letzten Tages im angegebenen Monat zurück.

Der Parameter AYear gibt das Jahr mit dem gewünschten Monat an.

Der Parameter AMonth gibt den Monat an. Gültige Werte für AMonth liegen zwischen 1 und 12.

Geben die Parameter kein gültiges Datum an, löst EndOfAMonth eine EConvertError-Exception aus.
Aber was soll ich mit der Millisekundenangabe???
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...
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Monatsberechnung: 30 oder 31 Tage herrausfinden

  Alt 5. Jun 2009, 18:05
Es wird ein TDateTime der letzen Sekunde des letzen Tages zurückgeliefert.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Fussel9
Fussel9

Registriert seit: 25. Mai 2009
322 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Monatsberechnung: 30 oder 31 Tage herrausfinden

  Alt 5. Jun 2009, 18:08
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?
  Mit Zitat antworten Zitat
Benutzerbild von BackOrifice
BackOrifice

Registriert seit: 6. Jun 2005
74 Beiträge
 
Delphi 2007 Architect
 
#9

Re: Monatsberechnung: 30 oder 31 Tage herrausfinden

  Alt 5. Jun 2009, 18:09
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
Henning
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Monatsberechnung: 30 oder 31 Tage herrausfinden

  Alt 5. Jun 2009, 18:13
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:
function isSchaltjahr(jahr:integer):boolean;
begin
  Result:=(jahr mod 4 = 0) and (jahr mod 100 <> 0) or (jahr mod 400 = 0);
end;
Wenn Schaltjahr dann Februar = 29 Tage sonst 28 Tage.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz