将以秒为单位的时间跨度转换为shell中的格式化时间

我有一个变量$I,在shell脚本中是秒,我试图将它转换为24小时HH:MM:SS。这在壳牌公司是可能的吗

这里有一个有趣的黑客方式来做你想要的事=)

[email protected]${i}+%T

说明:

  • date实用程序允许您从字符串中指定自1970-01-01 00:00:00 UTC以来的时间(以秒为单位),并以指定的格式输出
  • -u选项用于显示UTC时间,因此不考虑时区偏移(因为1970年开始的时间是UTC)
  • 以下部分是特定于GNU的日期(Linux):
    • -d部分告诉date从字符串接受时间信息,而不是使用now
    • @${i}部分是如何告诉date以秒为单位的$i
  • +%T”用于格式化输出。从人工日期页面:%T时间;与%H:%M:%S相同。因为我们只关心HH:MM:SS部分,所以这很合适

发表评论