shell脚本实现取当前系统时间
date +%Y%m%d%H%M%S
结合其它命令使用date
echo date +%Y%m%d%H%M%S
cp a.txt adate +%Y%m%d%H%M%S
.txt
mv a.txt adate +%Y%m%d%H%M%S
.txt
echo $(date -d -7day +%Y%W)
更多用法
1、获取今天日期
$ date -d now +%Y-%m-%d 或者
$ date +%F
2、获取明天日期
$ date -d next-day +%Y-%m-%d
$ date -d tomorrow +%Y-%m-%d
3、获取昨天日期
$ date -d yesterday +%Y-%m-%d 或者
$ date -d last-day +%Y-%m-%d 或者
$ date -d “1 days ago” +%Y-%m-%d
“n days ago” 表示n天前的那一天
4、获取取30天前的日期
$ date -d “30 days ago” +%Y-%m-%d
5、使用负数以得到过去的日期
$ date -d ‘dec 14 -2 weeks’ +%F #相对于dec 14这个日期的两周前的日期
$ date -d ‘-100 days’ +%F #100天以前的日期
$ date -d ’50 days’ +%F #50天后的日期
扩展:
$ date -d next-month +%F #下个月今天日期
$ date -d last-month +%F #上个月今天日期
$ date -d next-year +%Y #明年日期
$ date -d ‘2 weeks’ +%F #获取两星期以后的日期
shell 实现获取当前时间,并进行格式转换的方法:
1)原格式输出
2018年 09月 30日 星期日 155515 CST
time1=$(date)
echo $time1
2)时间串输出
20180930155515
time2=$(date +%Y%m%d%H%M%S)
echo $time2
3)2018-09-30 155515
time3=$(date +”%Y-%m-%d %H:%M:%S”)
echo $time3
4)2018.09.30
time4=$(date +%Y.%m.%d)
echo $time4
注意
1、date后面+前面有一个空格
2、变量赋值时=前后不要有空格
参数释义
time4=$(date +%Y.%m.%d)
echo $time4
1 Y显示4位年份,如:2018;y显示2位年份,如:18。
2 m表示月份;M表示分钟。
3 d表示天;D则表示当前日期,如:11818(也就是2018.1.18)。
4 H表示小时,而h显示月份。
5 s显示当前秒钟,单位为毫秒;S显示当前秒钟,单位为秒。
发表回复