红联Linux门户
Linux帮助

Linux下Shell中日期格式使用

发布时间:2016-09-20 15:34:20来源:linux网站作者:胡胡忽忽
获取当前日志(一般默认是CST标准格式)
-bash-4.1$ date
Tue Sep 20 09:56:58 CST 2016
 
获取特定以特定格式(date + ‘format’,注意格式的大小写表示了不同格式)
-bash-4.1$ date +'%Y-%m-%d'
2016-09-20
-bash-4.1$ date +'%Y%m%d%H'
2016092009
 
获取昨天的日期(其中表示格式的”+’%Y-%m-%d’ “可在-d前或后面)
-bash-4.1$ date -d 'yesterday' +'%Y-%m-%d'
2016-09-19
或者
-bash-4.1$ date -d 'today -1 day' +'%Y-%m-%d'
2016-09-19
 
获取当前时间的前一个小时
-bash-4.1$ date -d 'today -1 hour' +'%Y%m%d%H'
2016092009
或者
-bash-4.1$ date +%Y-%m-%d\ \%H:00:00 -d '-1 hours'
2016-09-20 09:00:00
 
获取指定日期前一天(例如经常在调度脚本中获取传入日期,然后再取前几天)
-bash-4.1$ date -d '20160909 -1 day' +'%Y%m%d'
20160908
 
将日期转换为时间戳
-bash-4.1$ date -d "2016-09-09 04:00:00" +%s
1473364800
 
将时间戳转换回日期
-bash-4.1$ date -d @1473364800
Fri Sep  9 04:00:00 CST 2016
 
将时间戳转换为日期,并按特定格式
-bash-4.1$ date -d @1473364800 +'%Y%m%d%H'
2016090904
 
将含有yyyy-MM-dd转为yyyyMMdd,可以直接使用sed替换
-bash-4.1$ echo "2016-09-09" | sed 's/-//g'
20160909
在脚本中可以使用(注意需要``符号)
date=`echo "2016-09-09" | sed 's/-//g'`
 
本文永久更新地址:http://www.linuxdiyf.com/linux/24334.html