Shell Script计算日期

#!/bin/bash
#Program: 
#    You input your demobilization date, I calculate how many days before you demobilize
#History:
#    2013/08/26  ydonghao
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH

#1,告知用户程序的用途,并且告知应该如何输入日期
echo "This program will try to calculateL ;"
echo "How many days before you demobilization date ..."
read -p "Please input your demobilization date (YYYYMMDD ex>20090401):" date2

#2,利用正则表达式测试一下这个输入的内容是否正确 
date_d=$(echo $date2 | grep '[0-9]\{8\}')
if [ "date_d" == "" ]; then
    echo "You input the wrong date format"
    exit 1
fi

#3,开始计算日期
declare -i date_dem=`date --date="date2" + %s`
declare -i date_now=`date +%s`
declare -i date_total=$((date_dem-$date_now))
declare -i date_d=$((date_total/60/60/24))
if [ "$date_total" -lt "0" ] ; then
    echo "You had been demobilization before:" $((-1*$date_d)) " ago"
else
    declare -i date_h=$(($(($date_total-$date_d*60*60*24))/60/60))
    echo "You will demobillize after $date_d days and $date_h hours."
fi

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值