我得到以下数据在bash脚本变量exp_dt:
exho $exp_dt
Jun 5 08:25:42 2023 GMT
需要帮助将其转换为像"05- june -2023"以及从当前日期算起的剩余天数,即64天。
预期输出
echo $new_var
05-Jun-2023|64 days
ts='Jun 5 08:25:42 2023 GMT'
echo "${ts}"
d=$(date -d "${ts}" +%d-%b-%Y)
sec=$(date -d "${ts}" +%s)
now=$(date +%s)
diff=$(expr $sec - $now)
days=$(expr $diff / 86400 )
new_var="$d|$days days"
echo $new_var
通过运行:
penguin:~$ sh d.sh
Jun 5 08:25:42 2023 GMT
05-Jun-2023|64 days
penguin:~$
try this:
# your date
exp_dt="Jun 5 08:25:42 2023 GMT"
# actual day of year
b=$(date "+%-j")
# day of year of your date
c=$(date -d "$exp_dt" "+%-j")
# diffence of days
new_var=$((c-b))
# your solution
echo $(date -d "$exp_dt" "+%d-%m-%Y") "| $new_var days"