簡體   English   中英

從今天起1年

[英]Bash -1 year from date

Year=`date '+%Y'`
RTRN1=$?

這將返回日志中的當前日期,但是我想要返回前一年,所以不要回到2017年我想要2016年。

任何幫助贊賞! 謝謝

對於GNU date實用程序:使用-d ( - --date )選項來調整日期:

Year=$(date +%Y -d'1 year ago')

echo $Year
2016

因為我們有bash ,所以可以使用let

let YEAR=`date +%Y`-1
echo $YEAR

您始終可以使用date +'%Y'捕獲年份。 您可以使用POSIX算術運算符減1 ,例如

$ echo $(($(date +%Y) - 1))
2016

您還可以使用POSIX兼容的expr數學運算符,例如

$ expr $(date +%Y) - 1
2016

注意:使用expr你必須在數學運算符和值之間留一個space

使用'1 year ago'的GNU日期運算符-d將按照注釋和其他答案中的指定工作,同時let dt=$(date +%Y)-1; echo $dt let dt=$(date +%Y)-1; echo $dt在另一個答案中指定( let不允許使用空格)。

在所有選擇中,如果我沒有GNU date ,我會選擇POSIX算術運算符$((...))date命令替換減1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM