mus*_*123 2 unix shell scripting
我有两个变量:X和Y.
X的值将是以mmddyy格式给出的日期 ,我想计算该日期之前的日期,并以yyyymmdd格式返回.
让我给你举个例子.当X ="091509"(mmddyy格式)时,Y应为"20090914"(yyyymmdd格式)
~$ date -d "20090101 -1 day"
Wed Dec 31 00:00:00 CET 2008
Run Code Online (Sandbox Code Playgroud)
如果你想以自定义格式检索日期,你只需要输入一些格式字符串.
~$ date -d "2009-09-15 -1 day" +%Y%m%d
20090914
Run Code Online (Sandbox Code Playgroud)
至于你的转换,你可以使用bash子串提取(假设你当然使用bash).这也假设您的输入是一致的并且"安全".
X="091509"
Y=`date -d "${X:4:2}${X:0:2}${X:2:2} -1 day" +%Y%m%d`
echo $Y
Run Code Online (Sandbox Code Playgroud)
见http://www.walkernews.net/2007/06/03/date-arithmetic-in-linux-shell-scripts/