- ベストアンサー
残り日数のカウント方法について
dateコマンドで出力した結果が、設定されている日付までの残り日数を計算する方法は? dateの出力形式 /bin/date +%d-%b-%Y 06-Jun-2003 設定日 : 30-Sep-2004
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こーゆーのは楽しいですね. man date より. %s 1970-01-01 00:00:00 UTC からの秒数 (標準外の拡張) -d datestr, --date datestr 現 在の時刻・日付の代わりに、 datestr で指定された 時刻・日付を表示する。 これらのオプションと,一日の秒数 = 86400 を組み合わせて,bash2 の計算機能 $(( )) を使うと,こんな感じ. echo $(( (`date +%s -d 30-Sep-2004` - `date %s`)/86400 ))
その他の回答 (1)
- astronaut
- ベストアンサー率58% (303/516)
> Solarisでは使えないようですが、Linuxのみのオプションですかね? Linux というより,GNUの拡張のようですね. GNU の coreutils に含まれる date が,この機能を持っています. Solaris環境はありませんが,HP-UX ではすんなりコンパイルできました. ftp://ftp.kddlabs.co.jp/GNU/coreutils > bash2の、Solaris用のアーカイブってどこかにありますか? あると思いますけど,知りません.計算自体は,シェルを入れ替えるまでもなく,expr で可能です. expr \( `date +%s -d 30-Sep-2004` - `date +%s` \) / 86400 でも,どうせ標準コマンドで用が足りないのなら,自分で簡単なプログラムを書いたほうが良いような気がします.
補足
回答ありがとうございました。教えていただいたdateコマンドのオプション"%s"は、Linux環境では確認できましたが、Solarisでは使えないようですが、Linuxのみのオプションですかね?また、bash2の、Solaris用のアーカイブってどこかにありますか?