代码之家  ›  专栏  ›  技术社区  ›  Natim

如何将ada.real-time.time转换为字符串?

  •  3
  • Natim  · 技术社区  · 14 年前

    我想写一篇 Ada.Real_Time.Time 在一个文件中,

    我该怎么做?

    谢谢

    4 回复  |  直到 14 年前
        1
  •  3
  •   T.E.D.    14 年前

    包ada.real_time不提供直接格式的方法。

    我建议你看看ada.calendar.formatting。 你有一个像Ada.Real_Time一样的方法时钟。 实际上,有一个方法图像(参数:时间),它返回一个字符串。

    有关详细信息: Package: Ada.Calendar.Formatting

        2
  •  5
  •   Simon Wright    14 年前

    你可以使用 Ada.Real_Time.Split 转换一个 Ada.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'Image Duration'Image 皈依 String .

    但是你想要这根绳子做什么呢?如果要比较在一次运行中发生的事情,很好,但是语言定义中没有什么可以说明什么是时代;例如,它可能是最后一次启动计算机的时间。

        3
  •  3
  •   Marc C    14 年前

    调用ada.real_time.split()函数,该函数将时间转换为秒数和时间跨度。秒计数值是自纪元以来经过的秒数,时间跨度值是最后一秒之后的(非常小)时间单位数。见 D.8 Monotonic Time (29)详情。

    秒数在包中是公开可见的,时间跨度可以通过转换为持续时间。

    请注意,您可以反转进程并使用time_of()来重建时间值。

        4
  •  2
  •   T.E.D.    14 年前

    如果不需要它作为可读文本,但只希望它保存到文件中,可以尝试使用stream output属性( 'Write )