with Ada.Calendar; with Ada.Text_IO; procedure Simple_Date_To_Unix_Timestamp is -- The Unix epoch starts on January 1, 1970 Epoch : constant Ada.Calendar.Time := Ada.Calendar.Time_Of(1970, 1, 1); -- Example date: August 24, 2023, 00:00:00 Specific_Time : Ada.Calendar.Time := Ada.Calendar.Time_Of(2023, 8, 24, 0, 0, 0.0); -- Calculate the difference in seconds Unix_Timestamp : constant Integer := Integer(Ada.Calendar.Seconds(Specific_Time - Epoch)); begin -- Output the Unix timestamp Ada.Text_IO.Put_Line("Unix Timestamp: " & Integer'Image(Unix_Timestamp)); end Simple_Date_To_Unix_Timestamp;
Ada.Calendar
Ada.Text_IO
Ada.Calendar.Time_Of
Specific_Time
Seconds()
Ada.Text_IO.Put_Line
Clock
Ada.Calendar.Time
Year (Time)
Time
Year(Clock)
Month (Time)
Month(Clock)
Day (Time)
Day(Clock)
Second (Time)
Second(Clock)
Split (Time, Year, Month, Day, Seconds)
Split(Clock, Y, M, D, S)
Time_Of (Year, Month, Day, Seconds)
Time_Of(2023, 8, 28, 12)
Time_Zones
Ada.Calendar.Time_Zones