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
相關文章
相關標籤/搜索