[shell script]计算退伍时间

这是一个简单(入门级)的shell脚本,输入退伍的日期,可以计算还有几天退伍。

#!/bin/bash
#program
#   you input your demobilization date,I calculate how many days before you demobilize.
#history
#2018/8/3 15:01 wk

//提示信息
echo "this program will try to calculate :"
echo "how many days before your demobilization..."
read -p "please input your demobilization date(YYYYMMDD ex>20180803):" demdate

//判断输入格式是否符合要求
date_d=$( echo $demdate | grep '[0-9]\{8\}' )
if [ "$date_d" == "" ];then
   echo "please input right date" 
   exit 1
fi

declare -i dem_t=$(date --date=$demdate +%s)  //退伍日期秒数
if [ "$?" !=  "0" ];then
    exit 1;
fi
declare -i now_t=$(date +%s)  //当前日期秒数
declare -i total_t=$((dem_t-now_t))  //相隔秒数
declare -i day_t=$((total_t/60/60/24)) //相隔天数
declare -i hour_t=$(($(($total_t-$day_t*60*60*24))/60/60)) //一天内的小时数
if [ "$day_t" -lt "0" ];then
   echo "you had been demobilization before $((-1*$day_t)) days"
elif [ "$day_t" -eq "0" ]  && [ "$hour_t" -le "0" ];then
    echo "you demdate today."
else
    echo "you will demobilizate after $day_t days and $hour_t hours."
fi

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值