gpt4 book ai didi

unix - 在unix中减去两个时间戳的命令

转载 作者:行者123 更新时间:2023-12-04 02:13:40 24 4
gpt4 key购买 nike

我正在编写一个脚本,它需要计算两个时间戳之间的差异。我进行了一些搜索,但到目前为止没有得到任何线索。

例如说:

time1 = 20160314 10:16:27
time2 = 20160313 15:17:28

从上面我需要得到如下结果:区别是:“1 天 5 小时 1 分钟 1 秒

请帮我解决这个问题。

最佳答案

datediff() {
t1=$(date -d "$1" +%s)
t2=$(date -d "$2" +%s)
diff=$(( $t1 - $t2 ))

echo "Duration: $(( $diff / 86400 )) days $(($diff / 3600 )) hours $((( $diff % 3600) / 60)) minutes $(( $diff % 60 )) seconds"
}

date -d "$1"+%s 将给定日期转换为时间戳(从 1970 年开始计算)。

关于日期转换的更多细节

http://www.gnu.org/software/coreutils/manual/html_node/Date-input-formats.html#Date-input-formats

示例:

$ date -d 2013-07-05 +%m/%d/%Y
07/05/2013
$ date -d 07/05/2013 +%F
2013-07-05

关于unix - 在unix中减去两个时间戳的命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35991742/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com