Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Letzter Tag des Monats bestimmen (https://www.delphipraxis.net/102798-letzter-tag-des-monats-bestimmen.html)

HolgerCW 5. Nov 2007 10:13


Letzter Tag des Monats bestimmen
 
Hallo zusammen,

ich habe ein Datum, z.B. den 25.02.2008.

Wie kann ich nun den letzten Tag dieses Monats bestimmen ?

Gruss

Holger

eddy 5. Nov 2007 10:17

Re: Letzter Tag des Monats bestimmen
 
Hallo Holger,

ich nutze das:


Delphi-Quellcode:
function LstDayOfMonth(dt : TDateTime) : TDateTime;
var
  DayTable : PDayTable;    // siehe SysUtils
begin
  DecodeDate(dt, jj, mm, tt);
  DayTable := @MonthDays[IsLeapYear(jj)];   // schaltjahrabhängig Zuweisung der Tabelle
  tt := DayTable^[mm];
  Result := EncodeDate(jj, mm, tt);
end;
mfg
eddy

marabu 5. Nov 2007 10:30

Re: Letzter Tag des Monats bestimmen
 
Hallo,

hier noch eine Alternative:

Delphi-Quellcode:
function Ultimo(year, month: Word): TDate;
begin
  Result := EncodeDate(year, month, {DateUtils.}DaysInAMonth(year, month));
end;
Grüße vom marabu

HolgerCW 5. Nov 2007 10:32

Re: Letzter Tag des Monats bestimmen
 
Das funktioniert wunderbar.

Hast Du vielleicht auch die Funktion für den ersten Tag im Monat ?

Gruss

Holger

b1zZ 5. Nov 2007 10:36

Re: Letzter Tag des Monats bestimmen
 
Zitat:

Zitat von HolgerCW
Das funktioniert wunderbar.

Hast Du vielleicht auch die Funktion für den ersten Tag im Monat ?

Gruss

Holger

Zitat:

Zitat von marabu

Delphi-Quellcode:
function Ultimo(year, month: Word): TDate;
begin
  Result := EncodeDate(year, month, 1);
end;

Oder möchtest du den 1ten Wochentag des Monats haben?

HolgerCW 5. Nov 2007 10:37

Re: Letzter Tag des Monats bestimmen
 
Vielen Dank

Gruss

Holger

negaH 5. Nov 2007 11:11

Re: Letzter Tag des Monats bestimmen
 
Bischen nachdenken hätte dir auch eine andere Lösng gebracht.

Welcher Tag kommt nach dem letzten Tag eines Monats ?
Wenn man von einem TDateTime -1 abzieht so hat man den vorherigen Tag als Datum.

Gruß Hagen

rwachtel 5. Nov 2007 12:28

Re: Letzter Tag des Monats bestimmen
 
Nur mal so in die Runde geworfen:

Es gibt auch noch die Unit DateUtils.pas, in der neben StartOfTheMonth und EndOfTheMonth noch viele weitere ISO 8601 entsprechende Datumsfunktionen zu finden sind.

...und was es da nicht gibt, findet man in der JCL...

Reinhard Kern 5. Nov 2007 15:29

Re: Letzter Tag des Monats bestimmen
 
Zitat:

Zitat von rwachtel
Nur mal so in die Runde geworfen:

Es gibt auch noch die Unit DateUtils.pas, in der neben StartOfTheMonth und EndOfTheMonth noch viele weitere ISO 8601 entsprechende Datumsfunktionen zu finden sind.

...und was es da nicht gibt, findet man in der JCL...

Warum immer alles so kompliziert wie möglich lösen? Bei mir haben bisher alle Monate mit dem 1. angefangen. Sogar ganz ohne Computer.

Gruss Reinhard

rwachtel 5. Nov 2007 15:40

Re: Letzter Tag des Monats bestimmen
 
..und Du hast jetzt auch den entsprechenden TDateTime-Wert für jeden Ersten zur Hand? :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:45 Uhr.
Seite 1 von 2  1 2      

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