【发布时间】:2021-12-20 10:30:33
【问题描述】:
我有两个变量被传递到一个函数中,它们是 HH:MM 格式的时间字符串。
我正在努力减去这两个变量
shop_opening_time=09:30
shop_closing_time=18:00
time_to_opening=$((current_time-shop_closing_time))
time_to_close=$((shop_opening_time-current_time))
请有人指导我如何减去这些? bash中有没有内置函数?
【问题讨论】:
-
我投票结束这个问题,因为它属于 unix.stackexchange unix.stackexchange.com/a/490768
-
谢谢@JatinMehrotra。很好的答案。该答案的唯一问题是关闭时间到打开时间的计算不正确。如果商店关门时间是 17:00,第二天早上 10 点开门,现在时间是 19:00,那么开门时间显示为 7 小时而不是 15 小时
-
我不同意这与编程无关,但您应该至少展示您自己的尝试。简而言之,通常的解决方案是将值标准化为自纪元(UTC 1970 年 1 月 1 日午夜)以来的秒数,然后执行算术运算。但是您的值并不表示它们在哪一天;我们是否可以始终假设它们在相邻的日期,而开放时间在第二天?
-
谢谢@tripleee。是的,这个假设是正确的。今天关门,明天开门。
标签: bash