将以秒为单位的时间跨度转换为Shell中的格式化时间
我有一个$ i变量,它在shell脚本中是秒,并且我试图将其转换为24小时HH:MM:SS。这在壳中可能吗?
回答:
这是一种有趣的hacky方式,可以完全满足您的需求=)
date -u -d @${i} +"%T"
- 该
date
实用程序允许您从字符串开始以秒为单位指定从1970-01-01 00:00:00 UTC开始的时间,并以您指定的任何格式输出时间。 - 该
-u
选项是显示UTC时间,因此不考虑时区偏移量(因为从1970年开始的时间是UTC) - 以下部分是
date
特定于GNU的(Linux):- 该
-d
部分告诉date
接受来自字符串的时间信息,而不是使用now
- 该
@${i}
部分是你如何告诉date
那$i
是在几秒钟内
- 该
- 该
+"%T"
是格式化你的输出。在man date
页面中:%T time; same as %H:%M:%S
。因为我们只关心HH:MM:SS
零件,所以很合适!
以上是 将以秒为单位的时间跨度转换为Shell中的格式化时间 的全部内容, 来源链接: utcz.com/qa/408851.html