AIX UNIX获取前一天日期
程序员文章站
2022-03-22 10:05:21
...
#!/bin/sh #today=`date +%Y%m%d` #todayHyphen=`date +%Y-%m-%d` year=`date +%Y` month=`date +%m` day=`date +%d` getYesterday() { #to int month=`expr $month + 0` day=`expr $day - 1` if [ $day -eq 0 ]; then month=`expr $month - 1` if [ $month -eq 0 ]; then month=12 day=31 year=`expr $year - 1` else case $month in 1|3|5|7|8|10|12) day=31;; 4|6|9|11) day=30;; 2) if ( [ `expr $year % 4` -eq 0 ] && [ `expr $year % 100` -ne 0 ] || [ `expr $year % 400` -eq 0 ] ) ; then day=29 else day=28 fi ;; esac fi fi #format if [ $day -lt 10 ] ; then day='0'$day; fi if [ $month -lt 10 ] ; then month='0'$month; fi yesterday=$year$month$day yesterdayHyphen=$year-$month-$day #$1 param1 #echo $year$1$month$1$day (方法返回值) }
#直接调用方法,不用返回值,在方法内设置多个变量,在外面可以用到。
#多次调用,year、month、day的值会变
getYesterday;
echo $yesterday
echo $yesterdayHyphen
#调用方法获取返回值的方式,方法内声明的变量,在外面看不到
#多次调用,year、month、day的值也不会变
yesterday=$(getYesterday '');
yesterdayHyphen=$(getYesterday '-');
echo $yesterday
echo $yesterdayHyphen
建议采用,第一种方法,方便。
参考:
AIX 环境下取得昨天日期的 Shell
http://blog.csdn.net/chenlmyy/article/details/52935795
Unix获取前一天日期(Linux不知道可以不以)
http://blog.itpub.net/24237320/viewspace-1852395/