如何在阿达的unix时代获得秒数?

时间:2015-12-12 12:37:54

标签: calendar timestamp ada

我觉得非常愚蠢,因为我似乎没有得到一个简单的自然数字代表自从Ada时代的unix时代(01/01/1970 00:00:00)以来的秒数。我已经上下阅读了Ada.Calendar及其子包,但似乎没有找到明智的方法来实现这一点,即使Ada.Calendar.Clock本身应该是正是我想要的......

我在我的智慧结束。是否朝着正确的方向轻推?

2 个答案:

答案 0 :(得分:6)

使用Ada.Calendar.Formatting构建代表epochTime

Epoch : constant Time := Formatting.Time_Of(1970, 1, 1, 0.0);

检查Ada.Calendar.ClockEpoch之间的差异。

Put(Natural(Clock - Epoch)'Img);

根据此epoch display或Unix命令date +%s检查结果。

有关其他详细信息,请参阅Rationale for Ada 2005: §7.3 Times and dates

答案 1 :(得分:0)

还有一个包Ada.Calendar.Conversions,其中包含ada< - > unix转换。