YYYY-MM-DD格式的date在shell脚本中
我试着在我的bash shell脚本中使用$(date) ,但是我想用YYYY-MM-DD格式的date。 我如何得到这个? 
在Bash:
 从date到今年的月份 
 DATE=`date +%Y-%m-%d` 
 得到年,月,日,小时:分钟:从date 秒 
 DATE=`date '+%Y-%m-%d %H:%M:%S'` 
其他可用的date格式可以从date手册页查看:
 man date 
 试试: $(date +%F) 
你可以做这样的事情:
 $ date +'%Y-%m-%d' 
 你正在寻找ISO 8601标准的date格式,所以如果你有GNUdate(或任何date命令比1988年更现代),只需要: $(date -I) 
 date -d '1 hour ago' '+%Y-%m-%d' 
 产量将是2015-06-14 。 
如果您希望年份采用17而不是2017两种数字格式,请执行以下操作:
 DATE=`date +%d-%m-%y` 
 使用printf的spec %(FORMAT)T : 
 $ printf '%(%Y-%m-%d)T\n' -1 # Get YYYY-MM-DD (-1 stands for "current time") 2017-11-10 $ printf '%(%F)T\n' -1 # Synonym of the above 2017-11-10 $ date="$(printf '%(%Y-%m-%d)T' -1)" # Capture as var $date 
上面的答案不起作用。 这是教授
 dedetok@localhost:~/test$ tgl='date +%Y-%m-%d' dedetok@localhost:~/test$ echo $tgl date +%Y-%m-%d 
这是正确的方法
 dedetok@localhost:~/test$ tgl=$(date +'%Y-%m-%d') dedetok@localhost:~/test$ echo $tgl 2016-09-26 
bash版本
 dedetok@localhost:~/test$ bash --version GNU bash, version 4.3.30(1)-release (x86_64-pc-linux-gnu)