How to calculate the number of days until Christmas from today in Pascal

1 Answer

0 votes
program DaysUntilChristmas;

{$mode objfpc}

uses
  SysUtils, DateUtils;

//
// ---------------------------------------------------------
// Function: DaysUntilChristmas
// Purpose : Calculate how many days remain until Christmas.
// ---------------------------------------------------------
//
function DaysUntilChristmas: Integer;
var
  Today       : TDateTime;
  Year        : Word;
  Month       : Word;
  Day         : Word;
  Christmas   : TDateTime;
begin
  // Get today's date from the system
  Today := Date;

  // Extract year, month, day from today's date
  DecodeDate(Today, Year, Month, Day);

  // Build a date for Christmas of the current year
  Christmas := EncodeDate(Year, 12, 25);

  // If Christmas already passed this year, calculate for next year
  if Today > Christmas then
    Christmas := EncodeDate(Year + 1, 12, 25);

  // Calculate difference in days
  Result := DaysBetween(Christmas, Today);
end;

//
// ---------------------------------------------------------
// Main program
// ---------------------------------------------------------
//
begin
  WriteLn('Days until Christmas: ', DaysUntilChristmas);
end.



(* 
run:

Days until Christmas: 211

*)

 



answered 1 hour ago by avibootz
...