Как вы можете напечатать переменную Ada.Calendar.Time в Ada? - PullRequest
0 голосов
/ 12 марта 2009

Нужно знать, как напечатать переменную времени в Аде. Я предполагаю, что не существует переносимого способа, потому что время определяется реализацией. Я уже видел пакет GNAT.Calendar.Formatting, доступный под GNAT, я также был бы заинтересован в GHS для VME.

Ответы [ 4 ]

2 голосов
/ 13 мая 2009

См. Пакет «Ada.Calendar.Formatting» с функцией «Изображение» для Ada2005. Если у вас есть компилятор Ada95, который вы могли бы, и этот пакет недоступен, попробуйте мою реализацию с здесь

Это было написано с использованием GNAT 3.15p, очень старое.

1 голос
/ 18 марта 2009

Обычно я использую Calendar.Split, а затем создаю 'изображение для частей, которые мне нужны.

1 голос
/ 12 марта 2009

Конечно, вывод времени может быть переносимым, Ada.Calendar содержит стандартные функции, которые извлекают компоненты значения времени, поэтому собрать собственный пакет преобразования просто.

Например, вот one . Нужно просто создать незначительное дополнение, чтобы создать запись «Formatted_Time» для данного значения времени (см. Руководство функции Get_Time () пакета), или сделать Main_Formatter () видимым в спецификации пакета.

0 голосов
/ 19 ноября 2015

Вот пример, который отображает дату и время с использованием пакета GNAT.Calendar.Time_IO:

with ada.calendar;
with gnat.calendar.time_io;

procedure display_time is
begin
  gnat.calendar.time_io.put_time(ada.calendar.clock, "Date: %Y/%m/%d Time: %H:%M:%S");
end display_time;

Параметры формата даты / времени доступны здесь: https://en.wikibooks.org/wiki/Ada_Programming/Libraries/GNAT.Calendar.Time_IO

...