2010-05-31 112 views

回答

3

包Ada.Real_time不提供直接格式的方法。

我建議你看看Ada.Calendar.Formatting。 你有一個像Ada.Real_time類似的方法。 的確,有一個方法Image(parameters:Time),它返回一個String。

詳情:Package: Ada.Calendar.Formatting

+0

最後,我們使用了Ada.Calendar.Formatting而不是'Ada.Real_Time.Clock' – Natim 2010-06-01 07:49:35

3

調用Ada.Real_Time.Split()函數,其中一個時間轉換爲SECONDS_COUNT和Time_Span。 Seconds_Count值是曆元以來經過的秒數,Time_Span值是最後一秒之後(非常小)的Time_Units的數量。詳情請參閱D.8 Monotonic Time(29)。

Seconds_Count在包中是公開可見的,Time_Span可以通過To_Duration()轉換爲持續時間。

請注意,您可以反轉該過程並使用Time_Of()重構Time值。

5

可以使用Ada.Real_Time.SplitAda.Real_Time.Time成轉換(a)中,因爲時代,類型Ada.Real_Time.Seconds_Count和(b)的小數部分,類型(私人)Ada.Real_Time.Time_Span的秒數;您可以使用Ada.Real_Time.To_Duration將小數部分轉換爲Duration

然後,您可以使用Ada.Real_Time.Seconds_Count'ImageDuration'Image轉換爲String

但是你想要什麼字符串?如果要在一次運行中發生事件時進行比較,那麼很好,但在語言定義中沒有什麼可以說明這個時代是什麼時候的;例如,它可能是電腦上次啓動的時間。

2

如果你不需要它爲可讀文本,但只是希望它保存到一個文件,你可以嘗試使用流輸出屬性('Write