linux里date的使用

1.获取现在的时间

1.1当前时间

>>date

Thu May 18 10:39:41 CST 2017

>>date +%s

1495075680

1.2当前日期

>>date +"%Y%m%d"

20170518

>>date +"%Y-%m-%d"

2017-05-18

其他格式的看附录,或者 date --help 查看%加字母代表什么意思。

1.3赋值变量

将事件给变量:

>>day=$(date +"%D"); echo $day

05/18/17

注意:

1.date后面必须有空格,date+"%Y%m%d"不可以

2.加号后面不可以有空格! date + "%Y%m%d"不可以

3.加号后面的这个 单引号双引号或者都不加都可以

2.时间的加减操作

2.1获取昨日时间(多日前同理)

>>date -d "-1 day" 或者 date -d "1 day ago"

Wed May 17 10:53:08 CST 2017

>>date -d "1 day ago" +%s

1494989818

2.2获取昨日日期

>>date -d "-1 day" +%Y%m%d

20170517

2.2获取明日时间

>>date -d "+1 day" 或者 date -d "1 day"

(1和day中间可以不加空格,不加空格的时候可以不加引号)

2.3获取上个月、去年的日期、时间(未来同理)

>>date -d "-1 month" +%Y%m%d

20170418

>>date -d "-1 year" +%Y%m%d

20160518

3.时间的格式转换(其实前面一直在用)

3.1普通转换

>>date -d "2017-05-19" +%Y%m%d

20170519

>>date -d "2017-05-19" +%s

1495123200

>>date -d @"1495123200" +%Y%m%d

20170519

>>date -d @1495123200

Fri May 19 00:00:00 CST 2017

3.2变量转换

>>day=20170518

>>date -d $day +%Y-%m-%d

2017-05-18

3.3时间戳转日期

>>time=1495077137

>>day=$(date -d @$time +%Y-%m-%d);echo $day

2017-05-18

以下为个人开发组的规则

4.azkaban上日期的使用(今日是20170518)

1.获取的是昨日的日期

job中: xxx.sh -t ${day}

(默认取昨日,如果输入时间则取输入的时间,注意此时不会减一天)

sh中(默认):

${day} 获取 2017-05-17

${day_str}获取 20170517

2.获取的是今日的日期

job中:xxx.sh -n ${day}

其余不变

sh中(默认):

${day} 获取 2017-05-18

${day_str}获取 20170518

3.以下四个参数都是取的现在时间

${cur_day}获取 2017-05-18

${cur_day_str}获取 20170518

(现在是11点37)

$shour:10

$ehour:10

$minute:37

猜你喜欢

转载自blog.csdn.net/mjb115889/article/details/82110138