ベストアンサー 残り日数のカウント方法について 2003/06/06 21:25 dateコマンドで出力した結果が、設定されている日付までの残り日数を計算する方法は? dateの出力形式 /bin/date +%d-%b-%Y 06-Jun-2003 設定日 : 30-Sep-2004 みんなの回答 (2) 専門家の回答 質問者が選んだベストアンサー ベストアンサー astronaut ベストアンサー率58% (303/516) 2003/06/07 00:58 回答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 )) 質問者 補足 2003/06/09 10:04 回答ありがとうございました。教えていただいたdateコマンドのオプション"%s"は、Linux環境では確認できましたが、Solarisでは使えないようですが、Linuxのみのオプションですかね?また、bash2の、Solaris用のアーカイブってどこかにありますか? 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 その他の回答 (1) astronaut ベストアンサー率58% (303/516) 2003/06/09 11:25 回答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 でも,どうせ標準コマンドで用が足りないのなら,自分で簡単なプログラムを書いたほうが良いような気がします. 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 カテゴリ [技術者向] コンピューターOS(技術者向け)その他(OS) 関連するQ&A EXCELで残りの日数を表示させたい 2 EXCEL2010使用 各月ごと シート別 フォーマットを作成しております。 日付 は5/1と入力 表示形式で 日にちだけ表示 曜日 は日付のセルを参照させ 表示形式で 曜日を表示 別シートに営業 休日 日を”祝日”と名前を付けて、そこがピンク色になるように 条件付き書式を設定しています。 ここで本題、 残り日数というのを自動で算出できないでしょうか? 休みは 日曜、祝日 研修日などランダムでございます。 今は手入力で残り日数だけ入れています。 EXCELで残りの日数を表示させたい EXCEL2010使用 各月ごと シート別 フォーマットを作成しております。 日付 は5/1と入力 表示形式で 日にちだけ表示 曜日 は日付のセルを参照させ 表示形式で 曜日を表示 別シートに営業 休日 日を”祝日”と名前を付けて、そこがピンク色になるように 条件付き書式を設定しています。 ここで本題、 残り日数というのを自動で算出できないでしょうか? 休みは 日曜、祝日 研修日などランダムでございます。 今は手入力で残り日数だけ入れています。 設定日から指定日数後の日付の取得 全く初心者の質問ですみません。 設定日から指定日数後の日付を取得したいと思っています。 echo $date // 正しい設定日がY-m-dで表示されます date ("Y-m-d", mktime (0,0,0,date('m',$date),date('d',$date) + $add_date,date('Y',$date))); で取得できると思ったのですが、常に1970-01-01が返されます。 先ほどecho $dateで設定した日付が表示されるにもかかわらず、 print_r(getdate($add_date)); とすると [seconds] => 31 [minutes] => 33 [hours] => 9 [mday] => 1 [wday] => 4 [mon] => 1 [year] => 1970 [yday] => 0 [weekday] => Thursday [month] => January [0] => 2011 と1970-01-01が返されます。 何故でしょうか? ネットワークエンジニアとは?技術職の未来を考える OKWAVE コラム 3分間シェルを実行する方法 netstat の結果をログ出力する為、次のようにシェルを作成しましたがもう少し効率の良い方法はありませんでしょうか。 ■作成したシェルスクリプト ------------------------------------------------------------------------------- #!/bin/bash #ログの出力先 LOGFILE=/var/log/netstat.log #実行コマンド date "+%Y/%m/%d %H:%M:%S" >> $LOGFILE netstat -ao >> $LOGFILE sleep 30 #実行コマンド date "+%Y/%m/%d %H:%M:%S" >> $LOGFILE netstat -ao >> $LOGFILE sleep 30 #実行コマンド date "+%Y/%m/%d %H:%M:%S" >> $LOGFILE netstat -ao >> $LOGFILE sleep 30 #実行コマンド date "+%Y/%m/%d %H:%M:%S" >> $LOGFILE netstat -ao >> $LOGFILE sleep 30 #実行コマンド date "+%Y/%m/%d %H:%M:%S" >> $LOGFILE netstat -ao >> $LOGFILE sleep 30 #実行コマンド date "+%Y/%m/%d %H:%M:%S" >> $LOGFILE netstat -ao >> $LOGFILE sleep 30 ------------------------------------------------------------------------------- Windows XP Pro SP3 コマンドプロンプトの日時の表示に Windows XP Pro SP3 コマンドプロンプトの日時の表示について こんにちは。 以下質問させて下さい。 現在コマンドベースで日付を取得しようとしています。 C:\>echo %date% 上記コマンドを投げると下記のような形式で表示が返ってきます。 Wed 02/24/2010 しかし、地域と言語の設定に記述されている日付の形式(短い形式)では、 M/d/yyyy で設定されていて、曜日が出てくることは無いと思っていましたが、曜日まで出力されています。 この%date%は一体どこの書式を参照しているのでしょうか。 分かる方いらっしゃいましたらご教授下さい。 df -k の結果を awk で編集したいのですが。 df -k コマンドの結果各行の最後に日付を付けて 出力したいのですが、どうしてもうまく日付が表示できないのです。 df -k | gawk '{print $1,$2,$3,$4,$5,$6,ここになんといれればよいのか?;}' 色々試しましたがうまくいきません。 ただの日付表示だと以下のechoコマンドで簡単に表示できるのですが、 これをawkに盛り込みたいのです。 echo `date +%Y/%m/%d-%H:%M` 理想の出力結果は↓こんな感じなのですが・・・どうしても出来ないのです。 /dev/sda1 118981 27037 85801 24% /boot 2007/10/29-15:00 どなたかご教授下さい。 またdf -k コマンドの各行末尾に簡単に日付を入れる方法ってないですか? 経過日数の算出表示方法は? "経過日数の算出表示方法は?" =DATEVALUE(A5)-DATEVALUE($A$2) ある日付からの経過日数を上の式で算出表示させようとしましたら この例の場合3の表示を期待していたのですが、"#VALUE!"が表示されて計算できません。 A1・・・・A5のセグメントの書式はユーザー定義でyy/mm/ddとしています。 日付の定義ではないので、表示形式が異なるものの、日付の1997/3/4の設定にしても、経過の日数は表示されません。 経過日付を表示するのはどうするのでしょうか。 ウインドウズとエクセルのバージョンはWindows98SE/EXECEL2000(9.0.2812)です。 コマンドプロンプトの日数計算で工夫が必要な場合 コマンドプロンプトを使って日数計算をしたものを修正したいのですがどうすれば良いでしょうか? set YYYYMM=%DATE:~-10,4%%DATE:~-5,2% set /a LASTMONTH=YYYYMM-1 この日数計算をすると今から一か月前の日付が取れます。 (今なら200802なので200801ですね) その内下四桁をLASTMONTHとして扱いたいのですがどうしたら良いでしょうか?例として200801と計算が出たもののうち0801だけのように抜き出したいんです。 if %LASTMONTH:~-2%==00 set /a LASTMONTH+=12-100 そのあとの分は上記のようになっています。(まだ意味がわかってはいません) よろしくお願いします。 Excelでの経過日数の計算について。 ・セルの書式設定は『ユーザ定義』、種類『G/標準』 ・データの形式は『Wed Apr 18 16:48:56 +0900 2007』 ・セルの書式、データ等他の形式へ変更することは出来ません。 セルに関数を設定して、『今日又は未来』までの日数を計算することは可能でしょうか。(データは過去の日付です。) 説明が上手く出来てないかも知れませんが宜しくお願いします。 リダイレクトで空ファイルを生成しない方法 以下のようにcronの実行結果にgrepをかけて、出力をファイルに書き出しているのですが、grepの結果出力がないときにサイズ0のファイルが生成されます。 cron.php | grep -v '\[ OK \]\|#!/usr/bin/php' > log/`date +%Y%m%d`cron.log 出力があるとき以外ファイルを生成させない方法はありますか? 宜しくお願い致します。 ○日前、○ヶ月前の日付を求めるコマンド Linuxコマンドに関する質問です。 date +%y%m%d にて今日の日付が6桁の数字で表されると思いますが、 前日、前月、また数ヶ月前の日付を求めるコマンドを調べています。 検索したところ date -v1d '+%y%m%d' で前日の日付を求められるという情報があったのですが これを試しても"-vというオプションは無い"と怒られます。 お分かりになる方がいましたらお教えください。 土日をカウントしない日付表示 PHPで日付の表示方法で困っています。 今日から3日後の日付を表示するときに土日を含まないで表示させたいのです。本日12日ですので17日が表示されるようなPHPをご教授いただきたいです。 <?php echo date("m月d日",strtotime("+3 day"));?> だと単純に3日後ですし、 <?PHP $day = 60 * 60 * 24; $t=mktime(0,0,0,date("m"),date("d")+3,date("y")); if(date("w",$t)==6) $t += $day * 2; if(date("w",$t)==0) $t += $day ; echo date("m月d日",$t); ?> だとしても土日をカウントしているので、思うような結果に至っておりません。 よろしくお願いします。 AIは使う人の年齢や市場にも影響する?人工知能の可能性 OKWAVE コラム 指定日まで画像カウントダウン表示一桁の残り日数を「01」のようにしたい 指定日まで画像カウントダウン表示一桁の残り日数を「01」のようにしたい。当日以降は「00」で停止させたい ある指定日時までの画像カウントダウン表示を以下のようにjavascriptで作成して、残り日数の数字を imageファイルで表示しているのですが、残りが一ケタになったときに「02」「01」のようにする、 また、当日が来たら「00」で止まるようにしたいのですが方法がわかりません。 javascriptで上記のような仕様にすることは可能なのでしょうか。 よろしくお願いします。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis" /> <script language="javascript"><!-- dir = "img/"; date1 = new Date(); date2 = new Date(2010, 11, 30); // YYYY, MM - 1, DD d = (date2.getTime() - date1.getTime()) / (24 * 60 * 60 * 1000); d = Math.abs(Math.ceil(d)); s = d.toString(); for (i = 0; i < s.length; i++) { document.write("<IMG SRC=\"" + dir + s.charAt(i) + ".gif\">"); } //--></script> </head> <body> <script src="js/date.js"></script>日 </body> </html> 31日前の日付はいつ? #!/bin/sh d=`date +%Y%m%d` 以前に、このシェルで今日の日付を取り出す方法を教えていただいたのですが、 この日付を元に、31日前の日付を取り出す方法はありますでしょうか? コマンドプロンプト 日時を用いた計算 こんにちは、お世話になります。 コマンドプロンプトを用いてファイルの制御を行おうと考えているのですが、 日付に特定の数値を減算した結果を制御するファイル名として扱いたいのですが、 日付に対して演算がうまく動きませんでした。 set FNAME=%date:~0,4%%date:~5,2%%date:~6,1% これで「20120221」を出力し、この日付数値に対して set /A SUM=FNAME+1 「SUM=20120221+1=20120222」という感じで計算させたいのですが、 どのようにすれば計算ができるでしょうか? 最終的には、 (1)日付を出力します。 (2)(1)で出した日付に数値を加えます。 (3)(2)で計算した数値をファイル名として使用してファイルのリネームやコピーを行います。 初歩的な質問で大変申し訳ないのですが、ご教授のほどよろしくお願いします。 FLASHでのカウンターの残り日数を正確に表示できません FLASH初心者です。わかりにくい説明かもしれませんが、よろしくお願いいたします。 http://oshiete1.goo.ne.jp/qa1192628.html こちらのページを参考にさせていただき、FLASHでカウンターを作成しました。 2010年1月16日をイベント日として、残り日数を表示させたいのですが、自分が作成したカウンターに表示される日数が正確なものではないようです。 自分でいろいろ試してみたのですが、2009年4月30日までは、正確に表示されるのですが、5月1日以降になると残日数がいきなり増えてしまいます。 下記に自分が作りました、カウンターのスクリプトを記しますので、間違いがありましたらご教示いただけますようお願いいたします。 //現在の日付および時刻を取得 yy = date_obj.getFullYear(); mm = date_obj.getMonth(); dd = date_obj.getDate(); hour = date_obj.getHours(); min = date_obj.getMinutes(); sec = date_obj.getSeconds(); //1970年1月1日からイベントまでの時間をミリ秒で取得 eventUTC = Date.UTC( 2009 , 1 - 1 , 16 , 17 , 30 , 0 ); //1970年1月1日から今日までの時間をミリ秒で取得 todayUTC = Date.UTC( yy , mm , dd , hour , min , sec ); //画像で数字を表示できるようにする with( _root.display_clip ) { /*日数を2桁で表示*/ //100の位の算出と表示 temp = Math.floor( _root.display_clip.event_date / 100 ); ddd.gotoAndStop( temp + 1 ); //10の位の算出と表示 temp = Math.floor( _root.display_clip.event_date / 10 ); dd.gotoAndStop( temp + 1 ); //1の位の算出と表示 d.gotoAndStop( ( _root.display_clip.event_date % 10 ) + 1 ); 必要部分かと思う箇所だけ掲載しました。自分で修正した部分は、イベント日や日数を3桁表示にするという部分などです。 よろしくお願いいたします。 Access97での日付間の日数を求める方法は? 過去ログに一応目を通したのですが、レベル的についていけないのか、理解できませんでした。 以下のような場合の対応策を教えてください。 <状態> ・フォーム上にて 「起算日」 「終了日」 「日数」 の3つのフィールドがあります。 ・「起算日」「終了日」は日付形式(yyyy/mm/dd)です。 <やりたいこと> ・「日数」のフィールドに「起算日」「終了日」の差の 日数を”*年*ヶ月*日”という形で表示したい。 ・「日数」に表示した結果は、テーブル上の 「日数」フィールドに格納する。 以上、できるだけ簡単な方法を教えていただけると有り難いです。よろしくお願いします。 日付と時刻の表示方法 コマンドプロンプトにて、日付と時刻を1行の中に ”2009/08/20 11:26” のように出力させる方法があれば教えてください。 コマンドプロンプトにて、以下のようにそれぞれ別個に出力させることはできました。 date /t 2009/08/20 time /t 11:26 しかし、日付と時刻を1行の中に出力できないので、おわかりになる方がおられればご回答、お願いします。 C言語について… 独学でC言語を勉強しているのですが分からない問題があります。 2つの年月日を指定し、それらの前後関係を求める関数date_ compを作成せよ。 int date_comp(int y1,int m1, int d1,int y2, int m2, int d2) 引数 int y1:年1,int m1:月1, int d1:日1(日付1)、 int y2:年2,int m2:月2, int d2:日2(日付2) 戻り値 y1/m1/d1 >y2/m2/d2:1 y1/m1/d1 =y2/m2/d2:0 y1/m1/d1 >y2/m2/d2:-1 日付1と日付2の入力,妥当性チェック,結果出力はmainで。 【エクセル】文字のカウントについて エクセルでシフト表を作りました。 1日~25日までのCさん、Yさんの出勤日数をX2のセルに表示させたいです。 ◆現状◆ F2セルには =DATE(B2,D2,1) G2セルには =WEEKDAY(F2,1) C4セルには =F2-(G2-1) を入力し、自動で日付と曜日が表示されるようになっています。 1日~25日までの「C」(またはY)の文字数をカウントしようとCOUNTIFS関数で X2セルに =COUNTIFS(C5:AD5,"C",C4:AD4,"<=25") と入力したのですが 日付の1,2,3は文字列ではなく、数式?なので うまく「C」をカウントすることができませんでした。。。。 ◆あわよくば◆ 前の月の26日から今月の25日までの「C」さんの出勤日数をX2に表示させたいですが、あまりにも複雑になりそうでしたら諦めます。 ちなみ前月のシフトは各月ごとに同じブック内のシートで分けています。 どなたかご教授お願い致します。 注目のQ&A 「You」や「I」が入った曲といえば? Part2 結婚について考えていない大学生の彼氏について 関東の方に聞きたいです 大阪万博について 駅の清涼飲料水自販機 不倫の慰謝料の請求について 新型コロナウイルスがもたらした功績について教えて 旧姓を使う理由。 回復メディアの保存方法 好きな人を諦める方法 小諸市(長野県)在住でスキーやスノボをする方の用具 カテゴリ [技術者向] コンピューター OS(技術者向け) Windows系OSLinux系OSBSD系OSSolaris系OSiOS(技術者向け)Android OS(技術者向け)その他(OS) カテゴリ一覧を見る OKWAVE コラム 突然のトラブル?プリンター・メール・LINE編 携帯料金を賢く見直す!格安SIMと端末選びのポイントは? 友達って必要?友情って何だろう 大震災時の現実とは?私たちができる備え 「結婚相談所は恥ずかしい」は時代遅れ!負け組の誤解と出会いの掴み方 あなたにピッタリな商品が見つかる! OKWAVE セレクト コスメ化粧品 化粧水・クレンジングなど 健康食品・サプリ コンブチャなど バス用品 入浴剤・アミノ酸シャンプーなど スマホアプリ マッチングアプリなど ヘアケア 白髪染めヘアカラーなど インターネット回線 プロバイダ、光回線など
補足
回答ありがとうございました。教えていただいたdateコマンドのオプション"%s"は、Linux環境では確認できましたが、Solarisでは使えないようですが、Linuxのみのオプションですかね?また、bash2の、Solaris用のアーカイブってどこかにありますか?