TOP →
IT関連覚え書き →
シェル(Shell)サンプル → This Page
シェル(Shell)サンプル
現在日時から指定の日・時間を足した日付文字列を出力
前提
実施環境(以下の両方でテストしてます)
Red Hat 5.3+bash-3.2
Windows7+Cygwin1.7.9
サンプル
現在日時から指定の日・時間を足した日付文字列を出力成します。
(マイナス値を指定してもOK)
これもたいしたサンプルではないですが、自分の備忘録用に。
意外と知らない(かもしれない)dateコマンドの-dオプションに複数条件を付加
今回は x day x hour と、日付+時間を記述。
getDiffDateTime.sh
#!/bin/sh
# --------------------------------------------------
# 現在日時から指定の日・時間を足した日付文字列を出力
# --------------------------------------------------
# 引数1:日
# 引数2:時間
# --------------------------------------------------
DIFFDATE=$1
DIFFHOUR=$2
if [ $# -eq 0 ]; then
DIFFDATE=0
DIFFHOUR=0
elif [ $# -eq 1 ]; then
DIFFHOUR=0
fi
DATE=`date -d "${DIFFDATE} day ${DIFFHOUR} hour" +"%Y/%m/%d %H:%M:%S"`
echo ${DATE}
exit 0
実行結果
# 引数なし(現在日時)
sh getDiffDateTime.sh
2011/08/09 23:37:46
# 明日
sh getDiffDateTime.sh 1
2011/08/10 23:38:20
# 昨日
sh getDiffDateTime.sh -1
2011/08/08 23:38:40
# 10時間後
sh getDiffDateTime.sh 0 10
2011/08/10 09:39:12
# 5時間前
sh getDiffDateTime.sh 0 -5
2011/08/09 18:39:33
# 5日後、3時間前
sh getDiffDateTime.sh 5 -3
2011/08/14 20:40:09
サンプルのダウンロード
サンプル一式(zip)
文字コードUTF-8、改行コードLFです。
更新履歴
2011/08/09 本ページ新規追加
TOP →
IT関連覚え書き →
シェル(Shell)サンプル → This Page