shell脚本求指定日期的昨天,明天,周一,上周一,月一等日期

这篇博客记录了如何使用Shell脚本来求解指定日期的前一天(昨天)、后一天(明天)、周一(包括上周一和下周一)以及月份的第一天。在面对分析师的需求,如周累计和月累计指标时,开发者通过Shell命令解决了复杂的时间逻辑,以适应不同日期的计算要求。
摘要由CSDN通过智能技术生成

某日分析师提了个需求,求三个时间段的逻辑指标,昨天的好求,周累计——本周一至昨天的累计指标,如果今天是周一,则求出上周一整周的累计指标,月累计——本月1号至昨天的累计指标,同理如果今天是1号,则求出上月一整月的累计指标。
(在这里给自己记录下,游客可以不用看,生产上的报表一般都是昨天的数据,而我们获取的参数也是昨天的,为什么不能像推断昨天是不是周末来判断今天是不是周一呢,因为周一昨天是周末,而月一的昨天就不一定是几号了,这里通过参数求出今天的日期,在判断逻辑,这里主要是给自己记录下,避免以后陷入误区。)
真可谓开发都是被需求逼死的,不多说,经过研究代码如下:

if [ $# -eq 1 ]; then                
     n_date=`date -d "$1" +%Y-%m-%d`
else
     n_date=`date -d "1 days ago" +%Y-%m-%d`                           #n_date=`date -d " -1 days" +%Y-%m-%d`
fi
#如果有日期,就选用参数日期,如果没有就选用昨天的日期(因为跑批都是昨天的,所以一般都是求出昨天的日期)
t_date=`date -d "${n_date} tomorrow" +%Y-%m-%d`        #根据给定的日期,求出明天的日期                #t_date=`date -d "+1 days ${n_date}" +%Y-%m-
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值