Index: src/natools-s_expressions-templates-dates.adb ================================================================== --- src/natools-s_expressions-templates-dates.adb +++ src/natools-s_expressions-templates-dates.adb @@ -1,7 +1,7 @@ ------------------------------------------------------------------------------ --- Copyright (c) 2014, Natacha Porté -- +-- Copyright (c) 2014-2015, Natacha Porté -- -- -- -- Permission to use, copy, modify, and distribute this software for any -- -- purpose with or without fee is hereby granted, provided that the above -- -- copyright notice and this permission notice appear in all copies. -- -- -- @@ -345,10 +345,14 @@ function Split (Value : Ada.Calendar.Time; Time_Zone : Ada.Calendar.Time_Zones.Time_Offset) return Split_Time is + use type Ada.Calendar.Time_Zones.Time_Offset; + Zone_Offset : constant Ada.Calendar.Time_Zones.Time_Offset + := Time_Zone - Ada.Calendar.Time_Zones.UTC_Time_Offset (Value); + Year : Ada.Calendar.Year_Number; Month : Ada.Calendar.Month_Number; Day : Ada.Calendar.Day_Number; Hour : Ada.Calendar.Formatting.Hour_Number; Minute : Ada.Calendar.Formatting.Minute_Number; @@ -366,11 +370,12 @@ (Source => Value, Time_Zone => Time_Zone, Year => Year, Month => Month, Day => Day, - Day_Of_Week => Ada.Calendar.Formatting.Day_Of_Week (Value), + Day_Of_Week => Ada.Calendar.Formatting.Day_Of_Week + (Ada.Calendar."+" (Value, 60 * Duration (Zone_Offset))), Hour => Hour, Minute => Minute, Second => Second, Sub_Second => Sub_Second); end Split;