BASH 中添加天数时的日期格式表达式

BASH 中添加天数时的日期格式表达式

所以我正在编写一个日期计算 Bash,但我遇到了日期格式问题。也许我只是写错了,任何网站都有帮助

#!/bin/bash

echo -e "bill date"
read date

      d1=$(date -d  "$date +27 days")
      d2=$(date -d  "$date +45 days" )


echo "$(tput bold setaf 3)Suspension date = $d1" 
echo "$(tput bold)$(tput setaf 1)Termination date = $d2"

我想要的输出是:暂停日期 = 2017 年 11 月 6 日星期一

我得到的是暂停日期 = 2017 年 11 月 6 日星期一 00:00:00 EST 2017

我尝试了 +'%a %B %d %Y' 的多种变体和位置,但不断收到无效日期错误。

到目前为止,我的头撞到桌子和墙上还没有撞到任何东西。

答案1

使用日期格式字符串:

d1="$(date -d "$date +27 days" +"%a %b %d %Y")"

这完全取决于用户输入可由 解析的格式date -d

相关内容