利用shell獲取指定日期前N天的日期
更新時間:2016年11月06日 11:51:24 作者:張家公子
最近因為項目的需要對比2015年10月的數(shù)據(jù),因為一年來的數(shù)據(jù)經(jīng)過了很多次調(diào)整和處理,遇到的最直接的問題是很多數(shù)據(jù)需要重新計算。只好寫腳本刷數(shù)據(jù)。在準(zhǔn)備腳本的過程中,就需要根據(jù)給定的日期處理數(shù)據(jù),所以就有了這篇文章,下面有需要的朋友們一起學(xué)習(xí)學(xué)習(xí)。
一、創(chuàng)建測試文件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
二、無參運行
## 不帶參數(shù),從當(dāng)前時間開始算 $ ./test.sh 2016-10-28 2016-09-29
三、傳參運行
$ ./test.sh 2015-10-29 2015-10-29 2015-09-29
總結(jié)
以上就是利用shell獲取指定日期前N天日期的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能有所幫助,如果有疑問大家可以留言交流。
相關(guān)文章
centos 設(shè)置定時任務(wù)執(zhí)行指定腳本的方法
下面小編就為大家?guī)硪黄猚entos 設(shè)置定時任務(wù)執(zhí)行指定腳本的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02Linux中SELinux、Shell簡介、touch命令的應(yīng)用小結(jié)
SELinux(Security-Enhanced Linux)是美國國家安全局(NSA)對于強制訪問控制的實現(xiàn),是Linux歷史上最杰出的新安全子系統(tǒng),這篇文章主要介紹了Linux中SELinux、Shell簡介、touch命令的應(yīng)用知識總結(jié),需要的朋友可以參考下2023-02-02