Wissen, wie man eine Zeitvariable in Ada druckt. Ich gehe davon aus, dass es keine übertragbare Möglichkeit gibt, weil die Implementierung von Time definiert ist. Ich habe bereits das unter GNAT verfügbare GNAT.Calendar.Formatting-Paket gesehen, ich wäre auch an einem GHS für VME interessiert.Wie können Sie eine Ada.Calendar.Time-Variable in Ada drucken?
Antwort
Sicher, Zeit Ausgabe kann portabel sein, Ada.Calendar enthält Standardfunktionen, die die Komponenten eines Zeitwerts extrahieren, so ist es einfach, Ihr eigenes Konvertierungspaket zusammenzustellen.
Zum Beispiel ist hier one. Man muss nur einen kleinen Zusatz erstellen, um einen Datensatz "Formatted_Time" für einen bestimmten Time-Wert zu erstellen (siehe die Get_Time() -Funktion des Pakets als Anleitung) oder Main_Formatter() in der Paketspezifikation sichtbar machen.
Im Allgemeinen verwende ich Calendar.Split und mache dann ein Bild von den Teilen, die mir wichtig sind.
Siehe Paket "Ada.Calendar.Formatting" -Funktion "Image" für Ada2005. Wenn Sie einen Ada95-Compiler haben und dieses Paket nicht verfügbar ist, versuchen Sie meine Implementierung von here
Dies wurde mit GNAT 3.15p geschrieben, so ziemlich alt.
Hier ist ein Beispiel, das das Datum und die Uhrzeit mit dem GNAT.Calendar.Time_IO Paket zeigt:
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;
Datum/Zeit-Format Optionen stehen zur Verfügung hier: https://en.wikibooks.org/wiki/Ada_Programming/Libraries/GNAT.Calendar.Time_IO