利用shell獲取指定日期前N天的日期
更新時(shí)間:2016年11月06日 11:51:24 作者:張家公子
最近因?yàn)轫?xiàng)目的需要對(duì)比2015年10月的數(shù)據(jù),因?yàn)橐荒陙?lái)的數(shù)據(jù)經(jīng)過(guò)了很多次調(diào)整和處理,遇到的最直接的問(wèn)題是很多數(shù)據(jù)需要重新計(jì)算。只好寫腳本刷數(shù)據(jù)。在準(zhǔn)備腳本的過(guò)程中,就需要根據(jù)給定的日期處理數(shù)據(jù),所以就有了這篇文章,下面有需要的朋友們一起學(xué)習(xí)學(xué)習(xí)。
一、創(chuàng)建測(cè)試文件test.sh
#!/bin/sh
. /etc/profile
# 參數(shù):
# args[0] ,數(shù)據(jù)日期,日期格式y(tǒng)yyy-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
二、無(wú)參運(yùn)行
## 不帶參數(shù),從當(dāng)前時(shí)間開始算 $ ./test.sh 2016-10-28 2016-09-29
三、傳參運(yùn)行
$ ./test.sh 2015-10-29 2015-10-29 2015-09-29
總結(jié)
以上就是利用shell獲取指定日期前N天日期的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能有所幫助,如果有疑問(wèn)大家可以留言交流。
相關(guān)文章
shell腳本換行問(wèn)題實(shí)戰(zhàn)記錄
換行相信大家都不陌生,下面這篇文章主要給大家介紹了關(guān)于shell腳本換行問(wèn)題的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-02-02
Shell中使用scp命令實(shí)現(xiàn)文件上傳代碼
這篇文章主要介紹了Shell中使用scp命令實(shí)現(xiàn)文件上傳代碼,本文講解使用scp命令實(shí)現(xiàn)名登錄上傳文件,需要的朋友可以參考下2015-04-04
shell腳本配合zabbix實(shí)現(xiàn)tomcat的故障自愈功能
這篇文章主要介紹了shell腳本配合zabbix實(shí)現(xiàn)tomcat的故障自愈,服務(wù)實(shí)現(xiàn)自愈的方式有通過(guò)shell腳本+定時(shí)任務(wù)的方式,藍(lán)鯨Pass故障自愈平臺(tái),shell腳本+zabbix觸發(fā)器動(dòng)作,本文給大家詳細(xì)介紹,需要的朋友可以參考下2022-03-03
bash shell命令行選項(xiàng)與修傳入?yún)?shù)處理
本文介紹了bash shell命令行參數(shù)與命令行選項(xiàng)的操作方法,有關(guān)shell 命令行參數(shù)的實(shí)例教程,有需要的朋友參考下。2014-04-04
linux shell 中雙引號(hào)和單引號(hào)的區(qū)別解析
最近在編寫shell腳本時(shí),發(fā)現(xiàn)引號(hào)使用的比較頻繁,也出現(xiàn)過(guò)小問(wèn)題,現(xiàn)根據(jù)我的使用情況做一下總結(jié),也加深一下自己的印象,這篇文章主要介紹了linux shell 中雙引號(hào)和單引號(hào)的區(qū)別解析,需要的朋友可以參考下2024-02-02

