1
2
3
4
5
6
7
8
9
|
------------------------------------------------------------------------------
-- Copyright (c) 2014, 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. --
-- --
-- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES --
-- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF --
|
|
|
1
2
3
4
5
6
7
8
9
|
------------------------------------------------------------------------------
-- 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. --
-- --
-- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES --
-- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF --
|
343
344
345
346
347
348
349
350
351
352
353
354
355
356
|
----------------------
function Split
(Value : Ada.Calendar.Time;
Time_Zone : Ada.Calendar.Time_Zones.Time_Offset)
return Split_Time
is
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;
Second : Ada.Calendar.Formatting.Second_Number;
Sub_Second : Ada.Calendar.Formatting.Second_Duration;
|
>
>
>
>
|
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
|
----------------------
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;
Second : Ada.Calendar.Formatting.Second_Number;
Sub_Second : Ada.Calendar.Formatting.Second_Duration;
|
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
|
return Split_Time'
(Source => Value,
Time_Zone => Time_Zone,
Year => Year,
Month => Month,
Day => Day,
Day_Of_Week => Ada.Calendar.Formatting.Day_Of_Week (Value),
Hour => Hour,
Minute => Minute,
Second => Second,
Sub_Second => Sub_Second);
end Split;
|
|
>
|
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
|
return Split_Time'
(Source => Value,
Time_Zone => Time_Zone,
Year => Year,
Month => Month,
Day => Day,
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;
|