所以我正在编写一个日期计算 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
。