program Last30Days;
uses SysUtils, DateUtils; // Include DateUtils for the DayOf function
procedure GetLast30Days(var days: array of Integer);
var
i: Integer;
today: TDateTime;
pastDate: TDateTime;
begin
today := Now; // Get the current date and time
for i := 0 to High(days) do
begin
pastDate := today - i; // Subtract 'i' days from today's date
days[i] := DayOf(pastDate); // Use DayOf to extract the day of the month
end;
end;
var
days: array[0..29] of Integer; // Array to store the last 30 days
i: Integer;
begin
// Get the last 30 days
GetLast30Days(days);
Write('Days: [');
for i := 0 to High(days) do
begin
Write(days[i]);
if i < High(days) then
Write(', ');
end;
WriteLn(']');
end.
(*
run:
Days: [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12]
*)