Have any Question?

***********

在Linux命令中使用当前时间

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显示当前秒钟,单位为秒。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注