1. 程式人生 > >shell 用變數接收 date -d 的時間

shell 用變數接收 date -d 的時間

之前寫過一篇部落格是講以當前時間為基礎,獲取幾天前/後,幾個小時前/後,幾個月前/後,幾年前/後,具體的詳細解釋在 date -d 的詳細使用 已經詳細講解,在此不再贅述。然而今天遇到一個問題是根據指定的時間獲取前/後的時間。
以前是這樣用的,直接輸出所需要的時間
date "+%Y-%m-%d"

1. 獲取指定日期幾個小時前的日期,相應的,如果需要幾天/月/年 前的時間,可以將下面的 hours 換成 days,months,years 。因為用的markdown編輯器,有了特殊符號, 會自動格式化,所以這裡我截圖以便看的清楚。下列圖中day2 的值是使用 ` 來取得命令的值,就是鍵盤上tab上面的鍵 這裡寫圖片描述


2. 獲取指定日期幾個小時後的日期,相應的,如果需要幾天/月/年 後的時間,可以將下面的 hours 換成 days,months,years,
這裡寫圖片描述

需要注意的是,如果這裡用的變數來接受date 的結果,需要將date 命令 用 ` 輔助,否則提示 command not found。

遺留的問題:

不過我也遇到了我沒有解決的問題


day="2016-12-12"
date -d "+ 1 day $day"
date -d "+ 1 day $day" + "%Y-%m-%d"

最後一句只不過加了格式化,語句就出現了錯誤,終於找到解決辦法,是格式化前面阿哥加號的位置出現了問題,應該在雙引號裡面,或者直接將格式化的雙引號去掉也可以。
這裡寫圖片描述


本文出自“筱Mary”部落格,轉載請務必保留此處 http://blog.csdn.net/qq_31382921/article/details/54911498