您的位置:首页 > 运维架构 > Shell

Linux-shell常用时间格式

2016-07-22 23:28 232 查看
#获取昨天日期 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"  

昨天的月份

month1=`date --date='1 days ago'  "+%Y%m"`

一个月的前一天的月份

month2=`date --date='1 month ago + 1 day ago' "+%Y%m"`

月初: m= `date --date='1 month' "+%Y-%m"`-01

月末: date --date="1 day ago $m" "+%Y-%m-%d"

一周前 : date --date="1 week ago "  "+%Y-%m-%d"

星期: date --date="0 days ago" "+%Y-%m-%d %u"

季头:  date -d "`awk -F- '$2%3==1{print $1FS$2FS"01";next}$2%3==2{print $1FS$2-1FS"01";next}{print $1FS$2-2FS"01"}' <<<2014-1-07`" +%F

季尾:  date -d "`awk -F- '$2%3==1{print $1FS$2+3FS"01";next}$2%3==2{print $1FS$2+2FS"01";next}{print $1FS$2+1FS"01"}' <<<2014-1-07` -1 day" +%F

循环取日期

#! /bin/sh

today=$2

enddate=$1

while [[ $today -ge $enddate  ]]

do

        echo ${today}

 

today2=`date -d "0 day $today" +%Y-%m-%d`

echo ${today2}

###  to do this

 

today=`date -d "-1 day $today" +%Y%m%d`

done

---------day2的星期数

week1=`date --date=$day2  "+%Y%U"`

-----------day1的1天前

day2=`date -d "-1 day $day1" +%Y%m%d`

------判断是星期几
day2=`date -d "-1 day $day1" +%w`
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: