逆引きシェルスクリプト/今日の日付が月末かどうかをdateコマンドで確認する方法
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
#navi(../)
* 月末かどうか確認する方法・dateコマンド [#ecbcb73a]
月末だけ実行したい処理があるなどの場合、月末は28, 29, 30,...
そこで、dateコマンドを利用して月末を調べる方法を以下に記...
#contents
#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)
* 関連資料 [#h713e486]
-[[日時の表示フォーマット変更・dateコマンド>逆引きUNIXコ...
-[[翌日の日付を取得・dateコマンド>逆引きUNIXコマンド/翌日...
-[[前日の日付を取得・dateコマンド>逆引きUNIXコマンド/前日...
-[[出力情報に日時情報を付加したい>逆引きUNIXコマンド/出力...
-[[Nヶ月とN日前の日付を取得・dateコマンド>逆引きUNIXコマ...
-[[UNIX時間に変換・UNIX時間を取得する方法>逆引きUNIXコマ...
-[[マシンの日時を設定・変更する・date, ntpdate>逆引きUNIX...
-[[指定したタイムゾーンのローカルタイムを表示する方法・TZ...
-[[YYYYMMDDを取得する・date>逆引きUNIXコマンド/YYYYMMDDを...
-[[HH:MI:SSを取得する・date>逆引きUNIXコマンド/HH:MI:...
* 月末を判別する方法 [#c0457673]
翌日が1日であれば、本日は月末ですよね。~
これを、dateコマンドで再現してみます。~
以下コマンドで翌日が表示されます。(4つとも同じ動作になり...
date --date '1 day'
date --date '+1 day'
date -d '1 day'
date -d '+1 day'
これで翌日の日時が表示されます。
実行結果は以下のようになります。
[sakura@centos ~]$ date
2012年 5月 22日 火曜日 11:04:12 JST
[sakura@centos ~]$ date --date '1 day'
2012年 5月 23日 水曜日 11:04:14 JST
[sakura@centos ~]$ date --date '+1 day'
2012年 5月 23日 水曜日 11:04:14 JST
[sakura@centos ~]$ date -d '1 day'
2012年 5月 23日 水曜日 11:04:14 JST
[sakura@centos ~]$ date -d '+1 day'
2012年 5月 23日 水曜日 11:04:14 JST
日付だけを取得したのいので+%dオプションを利用します。~
manコマンドでdateコマンドを確認すると以下の記述があります。
日付フィールド
<省略>
%d 月内通算日数 (01..31)
<省略>
したがって、+%dを利用することにより、翌日の日付のみを取得...
以下のようになります。
date --date '1 day' +%d
実行結果は以下のようになります。
[sakura@centos ~]$ date
2012年 5月 22日 火曜日 11:08:18 JST
[sakura@centos ~]$ date +%d
22
[sakura@centos ~]$ date --date '1 day' +%d
23
* シェルスクリプトに組み込む [#ec681861]
以下のサンプルスクリプトのようにdateコマンドから返却され...
#ref(chk-eom.sh)
#!/bin/bash
nextday=`date --date '1 day' +%d`
if [ $nextday -eq 1 ]; then
echo `date +%Y/%m/%d` is end of the month.
else
echo `date +%Y/%m/%d` is *NOT* end of the month.
fi
実行結果
[sakura@centos ~]$ date
2012年 5月 30日 水曜日 11:16:30 JST
[sakura@centos ~]$ ./chk-eom.sh
2012/05/30 is *NOT* end of the month.
[sakura@centos ~]$ date
2012年 5月 31日 木曜日 11:17:01 JST
[sakura@centos ~]$ ./chk-eom.sh
2012/05/31 is end of the month.
#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)
終了行:
#navi(../)
* 月末かどうか確認する方法・dateコマンド [#ecbcb73a]
月末だけ実行したい処理があるなどの場合、月末は28, 29, 30,...
そこで、dateコマンドを利用して月末を調べる方法を以下に記...
#contents
#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)
* 関連資料 [#h713e486]
-[[日時の表示フォーマット変更・dateコマンド>逆引きUNIXコ...
-[[翌日の日付を取得・dateコマンド>逆引きUNIXコマンド/翌日...
-[[前日の日付を取得・dateコマンド>逆引きUNIXコマンド/前日...
-[[出力情報に日時情報を付加したい>逆引きUNIXコマンド/出力...
-[[Nヶ月とN日前の日付を取得・dateコマンド>逆引きUNIXコマ...
-[[UNIX時間に変換・UNIX時間を取得する方法>逆引きUNIXコマ...
-[[マシンの日時を設定・変更する・date, ntpdate>逆引きUNIX...
-[[指定したタイムゾーンのローカルタイムを表示する方法・TZ...
-[[YYYYMMDDを取得する・date>逆引きUNIXコマンド/YYYYMMDDを...
-[[HH:MI:SSを取得する・date>逆引きUNIXコマンド/HH:MI:...
* 月末を判別する方法 [#c0457673]
翌日が1日であれば、本日は月末ですよね。~
これを、dateコマンドで再現してみます。~
以下コマンドで翌日が表示されます。(4つとも同じ動作になり...
date --date '1 day'
date --date '+1 day'
date -d '1 day'
date -d '+1 day'
これで翌日の日時が表示されます。
実行結果は以下のようになります。
[sakura@centos ~]$ date
2012年 5月 22日 火曜日 11:04:12 JST
[sakura@centos ~]$ date --date '1 day'
2012年 5月 23日 水曜日 11:04:14 JST
[sakura@centos ~]$ date --date '+1 day'
2012年 5月 23日 水曜日 11:04:14 JST
[sakura@centos ~]$ date -d '1 day'
2012年 5月 23日 水曜日 11:04:14 JST
[sakura@centos ~]$ date -d '+1 day'
2012年 5月 23日 水曜日 11:04:14 JST
日付だけを取得したのいので+%dオプションを利用します。~
manコマンドでdateコマンドを確認すると以下の記述があります。
日付フィールド
<省略>
%d 月内通算日数 (01..31)
<省略>
したがって、+%dを利用することにより、翌日の日付のみを取得...
以下のようになります。
date --date '1 day' +%d
実行結果は以下のようになります。
[sakura@centos ~]$ date
2012年 5月 22日 火曜日 11:08:18 JST
[sakura@centos ~]$ date +%d
22
[sakura@centos ~]$ date --date '1 day' +%d
23
* シェルスクリプトに組み込む [#ec681861]
以下のサンプルスクリプトのようにdateコマンドから返却され...
#ref(chk-eom.sh)
#!/bin/bash
nextday=`date --date '1 day' +%d`
if [ $nextday -eq 1 ]; then
echo `date +%Y/%m/%d` is end of the month.
else
echo `date +%Y/%m/%d` is *NOT* end of the month.
fi
実行結果
[sakura@centos ~]$ date
2012年 5月 30日 水曜日 11:16:30 JST
[sakura@centos ~]$ ./chk-eom.sh
2012/05/30 is *NOT* end of the month.
[sakura@centos ~]$ date
2012年 5月 31日 木曜日 11:17:01 JST
[sakura@centos ~]$ ./chk-eom.sh
2012/05/31 is end of the month.
#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)
ページ名: