我有一个 $i 变量,它在 shell 脚本中是秒,我正在尝试将其转换为 24 HOUR HH:MM:SS。这在shell中可能吗?
最佳答案
这是一种有趣的 hacky 方法,可以完全满足您的需求 =)
date -u -d @${i} +"%T"
说明:
date
实用程序允许您从字符串中指定时间,以 1970-01-01 00:00:00 UTC 以来的秒数为单位,并以您指定的任何格式输出。-u
选项用于显示 UTC 时间,因此它不考虑时区偏移(因为 1970 年的开始时间是 UTC)- 以下部分是 GNU
date
特定的 (Linux):-d
部分告诉date
接受来自字符串的时间信息,而不是使用now
@${i}
部分是告诉date
$i
以秒为单位的方式
+"%T"
用于格式化输出。从man date
页面:%T 时间;与 %H:%M:%S
相同。由于我们只关心HH:MM:SS
部分,这很合适!
关于linux - 将时间跨度(以秒为单位)转换为 shell 中的格式化时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13422743/