利用shell获取指定日期前N天的日期

所属分类: 脚本专栏 / linux shell 阅读数: 1301
收藏 0 赞 0 分享

一、创建测试文件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天日期的全部内容,希望本文的内容对大家的学习或者工作能有所帮助,如果有疑问大家可以留言交流。

更多精彩内容其他人还在看

linux shell脚本对未定义变量的判断以及if的用法详解

今天小编就为大家分享一篇linux shell脚本对未定义变量的判断以及if的用法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

在linux上定期执行命令、脚本(cron,crontab,anacron)

在linux下,如果想要在未来的某个时刻执行某个任务,并且在未来的每一个这样的时刻里都要执行这个任务。这篇文章主要介绍了在linux上定期执行命令、脚本(cron,crontab,anacron)的相关知识,需要的朋友可以参考下
收藏 0 赞 0 分享

Linux shell条件判断if中的-a到-z的意思【推荐】

这篇文章主要介绍了Linux shell条件判断if中的-a到-z的意思,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

linux定时器crontab的使用教程

这篇文章主要介绍了linux定时器crontab的使用教程,需要的朋友可以参考下
收藏 0 赞 0 分享

Linux创建用户的操作命令

useradd或adduser命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用户。这篇文章给大家介绍了Linux创建用户的操作命令,感兴趣的朋友一起看看吧
收藏 0 赞 0 分享

npm script命令同时进行多个监听服务的方法

这篇文章主要介绍了npm script命令同时进行多个监听服务的方法,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
收藏 0 赞 0 分享

Linux 命令head和tail常见用法详解

这篇文章主要介绍了Linux 命令head和tail常见用法详解,文中分别对head和tail的基本用法做了详细介绍,需要的朋友可以参考下
收藏 0 赞 0 分享

linux shell中实现循环日期的实例代码

这篇文章主要介绍了linux shell中实现循环日期的实例代码,文中还给大家提到了LINUX SHELL遍历日期(指定输入两个日期)的实现方法,感兴趣的朋友跟随小编一起看看吧
收藏 0 赞 0 分享

Linux下使用Rsync完成自动化备份

对于运维人员来说,数据备份是最重要的工作之一,rsync就是一款通过网络备份重要数据的工具/软件。
收藏 0 赞 0 分享

shell日志颜色处理及清理系统日志的方法

这篇文章主要介绍了shell日志颜色处理及清理系统日志的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多