微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

%b %d %Y 格式的两个日期之间的差异

如何解决%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 举报,一经查实,本站将立刻删除。