歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> SHELL編程 >> Shell腳本獲取格式化日期與時間總結

Shell腳本獲取格式化日期與時間總結

日期:2017/3/1 12:19:24   编辑:SHELL編程

Shell腳本獲取格式化日期與時間總結,Linux的bash腳本去時間格式的支持超出了我的預想,支持多種格式的變化與輸出。甚至比java的api還要方便,總結如下:

#!/bin/sh
# upload logs to hdfs


source /etc/profile


#獲取昨天日期 yyyyMMdd 格式
yesterday=`date --date='1 days ago' +%Y%m%d`
#獲取昨天日期 yyyy-MM-dd 格式
yesterday2=`date --date='1 days ago' +%Y-%m-%d`


#獲取今天日期 yyyyMMdd 格式
today=`date --date='0 days ago' +%Y%m%d`
#獲取今天日期 yyyy-MM-dd 格式
today2=`date --date='0 days ago' +%Y-%m-%d`


#獲取明天日期 yyyyMMdd 格式
today=`date --date='1 days' +%Y%m%d`
#獲取明天日期 yyyy-MM-dd 格式
today2=`date --date='1 days' +%Y-%m-%d`


#獲取當前時間 yyyy-MM-dd HH:mm:ss 格式
nowtime=`date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"`
#獲取當前日間 HH:mm:ss 格式
nowtime2=`date --date='0 days ago' +%H:%M:%S`


#獲取1小時前時間 yyyy-MM-dd HH:mm:ss 格式
onehourage=`date --date='1 hours ago' "+%Y-%m-%d %H:%M:%S"`
#獲取1小時後時間 yyyy-MM-dd HH:mm:ss 格式
onehourage2=`date --date='1 hours' "+%Y-%m-%d %H:%M:%S"`


#獲取2小時前時間 yyyy-MM-dd HH:mm:ss 格式
twohourage=`date --date='2 hours ago' "+%Y-%m-%d %H:%M:%S"`
#獲取2小時後時間 yyyy-MM-dd HH:mm:ss 格式
twohourage2=`date --date='2 hours' "+%Y-%m-%d %H:%M:%S"`


#獲取1個月前時間 yyyy-MM-dd HH:mm:ss 格式
date --date='1 month ago' "+%Y-%m-%d %H:%M:%S"
#獲取1個月加1天前時間 yyyy-MM-dd HH:mm:ss 格式
date --date='1 month ago + 1 day ago' "+%Y-%m-%d %H:%M:%S"
#獲取1個月減1天前時間 yyyy-MM-dd HH:mm:ss 格式
date --date='1 month ago - 1 day ago' "+%Y-%m-%d %H:%M:%S"



#獲取1個月加1天加1小時加1分鐘加1秒鐘前時間 yyyy-MM-dd HH:mm:ss 格式
date --date='1 month ago + 1 day ago + 1 hour ago + 1 min ago + 1 sec ago' "+%Y-%m-%d %H:%M:%S"
#獲取1個月加1天減1小時減1分鐘減1秒鐘前時間 yyyy-MM-dd HH:mm:ss 格式  可以 + - 濫用
date --date='1 month ago + 1 day ago - 1 hour ago - 1 min ago - 1 sec ago' "+%Y-%m-%d %H:%M:%S"


#獲取1個月加1天加1小時加1分鐘加1秒鐘後時間 yyyy-MM-dd HH:mm:ss 格式
date --date='1 month + 1 day  + 1 hour  + 1 min  + 1 sec ' "+%Y-%m-%d %H:%M:%S"


#獲取1個月加1天減1小時減1分鐘減1秒鐘後時間 yyyy-MM-dd HH:mm:ss 格式
date --date='1 month + 1 day  - 1 hour  - 1 min  - 1 sec ' "+%Y-%m-%d %H:%M:%S"


#獲取1年後1個月加1天減1小時減1分鐘減1秒鐘後時間 yyyy-MM-dd HH:mm:ss 格式
date --date='1 year 1 month + 1 day  - 1 hour  - 1 min  - 1 sec ' "+%Y-%m-%d %H:%M:%S"


#獲取1年前1個月加1天減1小時減1分鐘減1秒鐘後時間 yyyy-MM-dd HH:mm:ss 格式
date --date='1 year 1 month + 1 day  - 1 hour  - 1 min  - 1 sec ' "+%Y-%m-%d %H:%M:%S"
Copyright © Linux教程網 All Rights Reserved