逆引きシェルスクリプト/日付と日付の引き算をする方法
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
#navi(../)
* 日付と日付の引き算をする方法・expr, date [#dd1c4ef9]
dateコマンドとexprコマンドを使用することにより、日付と日...
つまり、指定した2つの日付から間の日数を計算することがで...
以下に日付と日付の引き算の仕方を記します。~
本コマンドの動作確認はCentOSで行いました。
#contents
#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)
* 関連記事 [#e14361c0]
-[[今日の日付が月末かどうかをdateコマンドで確認する方法>...
-[[翌日の日付を取得・dateコマンド>逆引きUNIXコマンド/翌日...
-[[前日の日付を取得・dateコマンド>逆引きUNIXコマンド/前日...
-[[Nヶ月とN日前の日付を取得・dateコマンド>逆引きUNIXコマ...
-[[整数演算を行う・exprコマンド>逆引きUNIXコマンド/整数演...
-[[exprコマンドのサンプル>逆引きシェルスクリプト/exprのサ...
* dateコマンドで秒を取得しexprで引き算する [#r9e45106]
dateコマンドの-dと%sを使用して1970/01/01からの経過秒数を...
- man dateの抜粋
$ man date
<snip>
%s 1970-01-01 00:00:00 UTC からの秒数 (標準外...
<snip>
-d datestr, --date datestr
現 在の時刻・日付の代わりに、 datestr で指...
示する。 datestr は普通のフォーマットならだ...
とができる。月名、タイムゾーン、‘am’ や ‘pm...
<snip>
実際のコマンドは以下のようになります。
expr \( `date -d'年/月/日' +%s` - `date -d'年/月/日' +%s...
* 日付の引き算を行ってみる [#dec60fed]
上記で記したコマンドで日付どうしの引き算をおこなって日数...
+ 2011/3/11から2013/1/21までの日数を算出
$ expr \( `date -d'2013/1/21' +%s` - `date -d'2011/3/11'...
682
上記の例では、682日と算出されました。
* 関数を作って動かしてみる [#yad144ff]
以下のシェルスクリプトにより2つの日付を指定することによ...
#ref(calc_date.zip)
#!/bin/bash
function calc_date() {
expr \( `date -d"$1" +%s` - `date -d"$2" +%s` \) / 86400
}
function usage() {
echo "Usage: basename $0 datestr datestr"
exit 1
}
if [ $# -ne 2 ]; then
usage
fi
calc_date $1 $2
実際に上記スクリプトを実行した出力結果です。~
上記のシェルスクリプトをchmodコマンドで実行権限をあたえて...
$ chmod +x calc_date.sh
3つ日付どうしの引き算をしてみた出力結果です。
$ ./calc_date.sh 2013/1/21 2013/1/20
1
$ ./calc_date.sh 2013/1/21 2013/1/1
20
$ ./calc_date.sh 2013/1/21 2012/1/21
366
以上、exprコマンドとdateコマンドを使用して間の日数を算出...
#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)
終了行:
#navi(../)
* 日付と日付の引き算をする方法・expr, date [#dd1c4ef9]
dateコマンドとexprコマンドを使用することにより、日付と日...
つまり、指定した2つの日付から間の日数を計算することがで...
以下に日付と日付の引き算の仕方を記します。~
本コマンドの動作確認はCentOSで行いました。
#contents
#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)
* 関連記事 [#e14361c0]
-[[今日の日付が月末かどうかをdateコマンドで確認する方法>...
-[[翌日の日付を取得・dateコマンド>逆引きUNIXコマンド/翌日...
-[[前日の日付を取得・dateコマンド>逆引きUNIXコマンド/前日...
-[[Nヶ月とN日前の日付を取得・dateコマンド>逆引きUNIXコマ...
-[[整数演算を行う・exprコマンド>逆引きUNIXコマンド/整数演...
-[[exprコマンドのサンプル>逆引きシェルスクリプト/exprのサ...
* dateコマンドで秒を取得しexprで引き算する [#r9e45106]
dateコマンドの-dと%sを使用して1970/01/01からの経過秒数を...
- man dateの抜粋
$ man date
<snip>
%s 1970-01-01 00:00:00 UTC からの秒数 (標準外...
<snip>
-d datestr, --date datestr
現 在の時刻・日付の代わりに、 datestr で指...
示する。 datestr は普通のフォーマットならだ...
とができる。月名、タイムゾーン、‘am’ や ‘pm...
<snip>
実際のコマンドは以下のようになります。
expr \( `date -d'年/月/日' +%s` - `date -d'年/月/日' +%s...
* 日付の引き算を行ってみる [#dec60fed]
上記で記したコマンドで日付どうしの引き算をおこなって日数...
+ 2011/3/11から2013/1/21までの日数を算出
$ expr \( `date -d'2013/1/21' +%s` - `date -d'2011/3/11'...
682
上記の例では、682日と算出されました。
* 関数を作って動かしてみる [#yad144ff]
以下のシェルスクリプトにより2つの日付を指定することによ...
#ref(calc_date.zip)
#!/bin/bash
function calc_date() {
expr \( `date -d"$1" +%s` - `date -d"$2" +%s` \) / 86400
}
function usage() {
echo "Usage: basename $0 datestr datestr"
exit 1
}
if [ $# -ne 2 ]; then
usage
fi
calc_date $1 $2
実際に上記スクリプトを実行した出力結果です。~
上記のシェルスクリプトをchmodコマンドで実行権限をあたえて...
$ chmod +x calc_date.sh
3つ日付どうしの引き算をしてみた出力結果です。
$ ./calc_date.sh 2013/1/21 2013/1/20
1
$ ./calc_date.sh 2013/1/21 2013/1/1
20
$ ./calc_date.sh 2013/1/21 2012/1/21
366
以上、exprコマンドとdateコマンドを使用して間の日数を算出...
#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)
ページ名: