shell中date日期相關操作

shell中日期相關操作,
獲取當前時間,並指定格式:

date +%Y%m%d
返回:20200603

獲取當前時間的前n天,比如昨天:

date +%Y%m%d -d "-1 days"
返回:20200602

常見格式化日期:

date "+%Y-%m-%d %H:%M:%S"
返回:2020-06-03 15:15:2

計算兩個時間的差值,
date +%s可以將日期轉換成秒數:

date +%s 
返回:1591174030

將字符串轉換爲日期

date -d "2020-06-03"
或者
date -d "20200603"
返回:
2020年 06月 03日 星期三 00:00:00 CST

或者:

date -d '2020-06-03 19:03:05'
date -d "20200603 19:03:05"
返回
2020年 06月 03日 星期三 19:03:05 CST

可以將時間轉換爲秒數之後計算兩個時間的差值。
如:

start_time=`date +%s -d "2020-06-03 15:52:37"`
end_time=`date +%s -d "2020-06-03  15:53:52"`
echo $(($end_time-$start_time))

遍歷某個時間段時間

start_time=$1
end_time=$2
if [[ ${start_time} > ${end_time} ]];then
    echo "error: end time smaller than start time,exit "
    exit 1
fi
while [[ ${start_time} -le ${end_time} ]]; do
    echo ${start_time}
    start_time=`date -d "${start_time} 1 day" +%Y%m%d`
done
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章