shell指令碼 有關時間的操作

2021-08-08 09:35:18 字數 1679 閱讀 8499

獲取昨天的時間(格式:yyyymmdd):date -d "-1 day $date" +%y%m%d

換一種輸出格式yyyy-mm-dd:date -d "-1 day $date" +%y-%m-%d

再換種格式 yyyy-mm-dd hh:mm:ss:date -d "-1 day $date" "+%y-%m-%d %h:%m:%s"

可以多試幾種格式~

date -d "-1 weak $date" +%y%m%d獲取一周前的時間

date -d "+1 day $date" +%y%m%d獲取明天的時間

date -d "-3 day $date" +%y%m%d獲取3天前的時間

舉個栗子:

#!/bin/bash

#兩個引數:起始時間和終止時間,迴圈輸出每天

startdate=`date -d

"+0 day $1" +%y%m%d`

enddate=`date -d

"+0 day $2" +%y%m%d`

while [[ $startdate -le $enddate ]]

dodate=$startdate

echo

"$date"

startdate=`date -d

"+1 day $date" +%y%m%d`

done

輸出:20170501

20170502

20170503

20170504

20170505

date -d "1 days ago" +%y%m%d獲取昨天的時間

獲取1小時前時間 yyyy-mm-dd hh:mm:ss 格式:date -d "1 hours ago" "+%y-%m-%d %h:%m:%s"

獲取1小時後時間 yyyy-mm-dd hh:mm:ss 格式:date -d "1 hours" "+%y-%m-%d %h:%m:%s"

獲取2小時前時間 yyyy-mm-dd hh:mm:ss 格式:

date -d "2 hours ago" +%y-%m-%d %h:%m:%s

獲取2小時後時間 yyyy-mm-dd hh:mm:ss 格式:date -d "2 hours" +%y-%m-%d %h:%m:%s

獲取1個月前時間 yyyy-mm-dd hh:mm:ss 格式:

date –d "1 month ago" +%y-%m-%d %h:%m:%s

獲取1個月加1天前時間 yyyy-mm-dd hh:mm:ss 格式:

date –d "1 month ago + 1 day ago" +%y-%m-%d %h:%m:%s

類似的,不同年月日時分秒,換著試一下就明白了。

如果需要輸出類似01、02、03……10這樣的數字,可以用使用:

#!/bin/bash

for h in $(seq -f %02.0f 24)

doecho

$hdone

shell指令碼redis操作

指令碼分2部,redis查詢出所需要的key,然後遍歷key查詢出所有的value追加到檔案中 想法 本來是要迴圈遍歷滿足條件key的結果集的,但是失敗了,所有就直接儲存到檔案中,讀取檔案每一行的結果,用這個結果查詢value儲存到新檔案中 進一步優化 因為key的type不同的原因,所有其實可以選...

Shell指令碼中時間處理

1.指令碼內容 bin bash 環境變數 設定環境變數和sql檔案格式相符 source etc profile export ld library path usr lib oracle 12.1 client64 lib export nls lang american america.zhs...

shell操作日期時間

linux 系統為我們提供了乙個命令 date,專門用來顯示或者設定系統日期時間的。語法格式為 date option format 或者 date u utc universal mmddhhmm cc yy ss 常用的可選項有 help 顯示輔助資訊 version 顯示 date 命令版本資...