【ksh shell】利用脚本获取时间,ksh获取昨天日期、当月1号、当月最后一天、上月1号、上月最后一天

这篇博客展示了如何使用shell脚本获取伦敦时间和北京时间的昨日日期,并且提供了获取当前月份及上一月份第一天和最后一天的脚本。通过`thismonth.sh`和`lastmonth.sh`两个脚本,可以计算出当月和上月的第一天及最后一天的日期。脚本中涉及到日期的转换和计算,以及对`cal`命令的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下面是取昨天的日期(伦敦时间)

startdate=`TZ=aaa24 date +%Y%m%d`

下面是取昨天的日期(北京时间)

startdate=`TZ=aaa16 date +%Y%m%d\ %H:%M:%S`
startdate=`TZ=aaa16 date +%Y%m%d`

利用脚本获取时间
thismonth.sh:当月第一天、当月最后一天
lastmonth.sh : 上月第一天、上月最后一天

export startdate=`sh thismonth.sh`
export starttime=`sh thismonth.sh`" 00:00:00"

export startdate=`sh lastmonth.sh`
export starttime=`sh lastmonth.sh`" 00:00:00"

两个文件内容如下:

thismonth.sh

#!/bin/ksh

yy=`date +%Y`
mm=`date +%m|bc`

[ $mm -lt 1 ] && { mm=12; ((yy -= 1)); }
[ $mm -le 9 ] && mm="0$mm"
getcal=`cal $mm $yy`
last_dd=`echo $getcal|awk '{print $NF}'`
dd1=`echo $getcal|awk '{print $10}'`

first_dd="0$dd1"

FirstDay=$yy-$mm-$first_dd
LastDay=$yy-$mm-$last_dd

echo $FirstDay

lastmonth.sh

#!/bin/ksh

yy=`date +%Y`
mm=`date +%m-1|bc`

[ $mm -lt 1 ] && { mm=12; ((yy -= 1)); }
[ $mm -le 9 ] && mm="0$mm"
getcal=`cal $mm $yy`
last_dd=`echo $getcal|awk '{print $NF}'`
dd1=`echo $getcal|awk '{print $10}'`

first_dd="0$dd1"

FirstDay=$yy-$mm-$first_dd
LastDay=$yy-$mm-$last_dd

echo $FirstDay
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值