如何解决%b %d %Y 格式的两个日期之间的差异
我希望得到一些帮助,以找出两个日期之间的天数差异。
日期 1:系统日期
日期 2:2022 年 3 月 20 日(未来)
我想做的是将其转换为 EPOCH 时间,减去然后除以 86400 以获得两个日期之间的天数。但是,我遇到了 systax 的问题。这是我尝试过的:
days_remaining=('date "+%s" -d "Mar 20 2022"'-'date "+%s" -d "$(date '+%b %d %Y')"')/86400
但是上面的方法不起作用。任何帮助将不胜感激。
解决方法
要在 bash 中进行计算,您需要一个算术上下文 (( ))
。此外,要执行 date
命令,您必须将它们放在 $()
内,而不是字符串引号 ''
。
顺便说一句:date
中的最后一个 date "+%s" -d "$(date '+%b %d %Y')
命令不是必需的。 date +%s
将打印当前日期时间。除以 86400
时会丢失时间部分,因为 bash 仅使用整数。
(( days_remaining = ($(date -d "Mar 20 2022" +%s) - $(date +%s)) / 86400 ))
,
你可以使用这个
days_remaining=$(($(($(date "+%s" -d "Mar 20 2022") - $(date "+%s" -d "$(date '+%b %d %Y')"))) / 86400))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。