• ベストアンサー

残り日数のカウント方法について

dateコマンドで出力した結果が、設定されている日付までの残り日数を計算する方法は? dateの出力形式 /bin/date +%d-%b-%Y 06-Jun-2003 設定日 : 30-Sep-2004

質問者が選んだベストアンサー

  • ベストアンサー
  • astronaut
  • ベストアンサー率58% (303/516)
回答No.1

こーゆーのは楽しいですね. 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 ))

isshou-s
質問者

補足

回答ありがとうございました。教えていただいたdateコマンドのオプション"%s"は、Linux環境では確認できましたが、Solarisでは使えないようですが、Linuxのみのオプションですかね?また、bash2の、Solaris用のアーカイブってどこかにありますか?

その他の回答 (1)

  • astronaut
  • ベストアンサー率58% (303/516)
回答No.2

> 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 でも,どうせ標準コマンドで用が足りないのなら,自分で簡単なプログラムを書いたほうが良いような気がします.

関連するQ&A

専門家に質問してみよう