linux脚本显示时间戳,shell下获取时间戳

在inux的shell下获取时间戳一般用两种方法,一是直接调用系统变量;二是用纯shell脚本获取,举例如下

一,直接调用系统变量

获取今天时期:date +%Y%m%d`

获取昨天时期:`date -d yesterday +%Y%m%d`

获取前天日期:`date -d -2day +%Y%m%d`

依次类推比如获取10天前的日期:`date -d -10day +%Y%m%d`

注意以上中间有空格

二,自己用shell实现,如下例子是已知今天日期,推算出昨天的日期的shell

startdate=`date`

d1=`date '+%Y%m%d'`

if test ! "$1" = ""

then

d1=$1

fi

echo "TODAY IS ${d1}"

yesterday()

{

YEAR=`expr substr "${d1}" 1 4`

MONTH=`expr substr "${d1}" 5 2`

DAY=`expr substr "${d1}" 7 2`

if [ $DAY -eq 1 ]

then

if [ $MONTH -eq 1 ]

then

YEAR=`expr $YEAR - 1`

MONTH=12

else

MONTH=`expr $MONTH - 1`

fi

DAY=`echo \`cal $MONTH $YEAR\`|tail -n1|awk '{print $NF}'`

else

DAY=`expr $DAY - 1`

fi

d2=`echo "$YEAR $MONTH $DAY"|awk '{if (length($2)==1) $2=0$2;if (length($3)==1) $3=0$3;printf "%s%s%s",$1,$2,$3}'`

}

yesterday

echo "yesterday IS ${d2}"

关于二中的shell脚本不完善,还有些bug比如计算平年和闰年的时候4月份的天数就弄错了,有兴趣的朋友可以继续.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值