本篇文章给大家分享的是有关shell中怎么获取指定日期前N天的日期,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
一、创建测试文件test.sh
#!/bin/sh
. /etc/profile
# 参数:
# args[0] ,数据日期,日期格式yyyy-MM-dd
# 取30天以前的日期
function get_date_30daysbefore()
{
sec=`date -d $1 +%s`
sec_30daysbefore=$((sec - 86400*30))
days_before=`date -d @$sec_30daysbefore +%F`
echo $days_before
}
if [ $# == 1 ]; then
today=$1
dates_30=`get_date_30daysbefore $1`
else
today=`date -d -1days '+%Y-%m-%d'`
dates_30=`date -d -30days '+%Y-%m-%d'`
fi
echo $today
echo $dates_30
二、无参运行
## 不带参数,从当前时间开始算
$ ./test.sh
2016-10-28
2016-09-29
三、传参运行
$ ./test.sh 2015-10-29
2015-10-29
2015-09-29
以上就是shell中怎么获取指定日期前N天的日期,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://www.jb51.net/article/96604.htm