How to get the number of the day from the beginning of the year to a given date in Pascal

1 Answer

0 votes
program DayOfYearProgram;

function IsLeapYear(year: word): boolean;
begin
  IsLeapYear := (year mod 4 = 0) and ((year mod 100 <> 0) or (year mod 400 = 0));
end;

function GetDayOfYear(year: word; month, day: integer): integer;
const
  days: array[0..11] of integer =
    (0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334);
begin
  if IsLeapYear(year) and (month > 2) then
    GetDayOfYear := days[month - 1] + day + 1
  else
    GetDayOfYear := days[month - 1] + day;
end;

var
  dayOfYear: integer;
begin
  dayOfYear := GetDayOfYear(2023, 5, 15);
  writeln(dayOfYear);
end.




(*
run:

135

*)







 



answered Dec 13, 2025 by avibootz

Related questions

...