zoukankan      html  css  js  c++  java
  • shell脚本事例 获取当前日期的前一天日期

    记录一个shell脚本事例,事例中包括shell的一些语法(函数定义、表达式运算、if、case...)

    #!/bin/sh
    
    #获取当前时间
    RUN_TIME=`date +%H%M%S`
    #取当前日期前一天
    get_ydate()
    {
            #设置当前年月日
            TODAY=`date +%Y%m%d`
            month=`date +%m`
            day=`date +%d`
            year=`date +%Y`
            #字符转换称数字
            month=`expr $month + 0`
            #取前一天
            day=`expr $day - 1`
    
            #如果前一天为0,进行如下处理    
            if [ $day -eq 0 ]; then
              #取前一月月份.
              month=`expr $month - 1`
              #如果前一月为0,则取前一年,月份取第12月        
              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 ]; then
                      if [ `expr $year % 400` -eq 0 ]; then
                        day=29
                      elif [ `expr $year % 100` -eq 0 ]; then
                        day=28
                      else
                        day=29
                      fi
                    else
                      day=28
                    fi
                  ;;
                  esac
              fi
            fi
            #按照YYYYMMDD格式打印年日期     
            acct_date=`printf "%04d%02d%02d" "$year" "$month" "$day"`
            echo $RUN_TIME
            echo $acct_date
    }
    get_ydate    
  • 相关阅读:
    1scala基础
    3scala高级
    03spark kafka
    01spark基础
    04spark streaming
    2scala集合
    02spark sql
    学习java程序设计环境的心得
    第五章继承
    第二周学习Java心得
  • 原文地址:https://www.cnblogs.com/uriel/p/4228883.html
Copyright © 2011-2022 走看看