• ベストアンサー

日時を逆算して**前に登録したか表示させる

データの書き込まれた日時から現在時刻を逆算して下記のように表示させるには どのようにしたら良いのでしょうか? 60分未満は**分で表示 1時間以上24時間未満は**時間で表示 1日以上30日未満は**日で表示 30日以上は****年**月**日で表示 どうか宜しくお願い致します。

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

A1に例えば2011/11/30 13:25 のように日時が入力されているとしたら、次の式のようにします。 =IF(A1="","",IF(NOW()-A1<"1:00"*1,TEXT(NOW()-A1,"mm分"),IF(NOW()-A1<"24:00"*1,TEXT(NOW()-A1,"h時間"),IF(NOW()-A1<30,TEXT(NOW()-A1,"d日"),DATEDIF(A1,NOW(),"Y")&"年"&DATEDIF(A1,NOW(),"YM")&"月"&DATEDIF(A1,NOW(),"MD")&"日"))))

mutu19730808
質問者

お礼

お礼が遅れて申し訳ありませんでした。 参考書にも記載がなくgoogleで検索を掛けても参考になる ものがなくて困っていたので助かりました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

極単純に if 60分未満 then **分で表示 else if 1時間以上24時間未満 then **時間で表示 else if 1日以上30日未満 then **日で表示 else if 30日以上 then ****年**月**日で表示 という構造にするだけですが。 条件と判定の順番から if 60分未満 then **分で表示 else if 24時間未満 then **時間で表示 else if 30日未満 then **日で表示 else ****年**月**日で表示 とも書けるでしょう。 大抵のプログラム言語には、時刻を扱うクラスとか関数が用意されています。それを使えば、2つの日時の差や比較が簡単に求められます。 そうでなくても、時刻を表す数値を使って求められます。大抵はある日時からの累積秒が得られます。 引き算すれば2時刻間の秒数がわかるので、必要に応じて分や日に変換すればいいです。 CGIというのは仕組みの名前であって、言語の名前ではありません。ほぼ全ての言語がCGIと成りえます。 表示とか比較とかをどうするかは使用言語やOS、プログラムの構成によっても変わってきます。 なので、今ある情報だけでは、具体的な方法は答えられません。 そんなに難しい内容ではないので、上のヒントで作ってみてください

mutu19730808
質問者

お礼

大変参考になりました。

mutu19730808
質問者

補足

私の認識不足でご迷惑をお掛けしました。 私自身、CGI=Perlだと思っておりました・・・・

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excel:開始日時から終了日時の表示

    例えば、「シート1」の「C3~C6」に日時が入力されているとします。 そして、「D3~D6」に開始日時、「E3~E6」に終了日時、「F3~F6」に「手続き可能中」などの文字を表示したいと思っています。 ただし、条件があります。 ■開始日時について 「D3」に表示する日時:「C3」に入力されている日時から、3ヶ月前(例えば、「C3」に2016年4月30日と入力されているとすれば2016年2月1日となります。)からが「開始日時」となります。開始日時の開始日は必ず「1日」となります。 「D4」に表示する日時:「C4」に入力されている日時から、3ヶ月前(例えば、「C4」に2016年4月30日と入力されているとすれば2016年2月1日となります。)からが「開始日時」となります。開始日時の開始日は必ず「1日」となります。 「D5」に表示する日時:「C5」に入力されている日時から、1ヶ月前(例えば、「C5」に2016年4月30日と入力されているとすれば2016年4月1日となります。)からが「開始日時」となります。開始日時の開始日は必ず「1日」となります。 「D6」に表示する日時:有効期間満了年の誕生日の1ヶ月前。例えば、誕生日が4月15日なら月日のみ3月15日。 ただし、下記の「■表示してはいけない(取り除く)「開始日時」、「終了日時」について」参照。 ■終了日時について 「E3」に表示する日時:基本的には「C3」を表示する。 「E4」に表示する日時:基本的には「C4」を表示する。 「E5」に表示する日時:基本的には「C5」を表示する。 「E6」に表示する日時:基本的には「C6」を表示するが、土曜日、日曜日、祝日(振替休日を含む)、12月29日~1月3日(年末年始)に当たるときは、これらの日の翌日までです。 ただし、下記の「■表示してはいけない(取り除く)「開始日時」、「終了日時」について」参照。 ■表示してはいけない(取り除く)「開始日時」、「終了日時」について 「D3」に表示してはいけない日時:土曜日、日曜日、祝日(振替休日を含む)、12月29日~1月3日(年末年始) 「D4」に表示してはいけない日時:土曜日、日曜日、祝日(振替休日を含む)、12月29日~1月3日(年末年始) 「D5」に表示してはいけない日時:土曜日、日曜日、祝日(振替休日を含む)、12月29日~1月3日(年末年始) 「D6」に表示してはいけない日時:土曜日、祝日(振替休日を含む)、12月29日~1月3日(年末年始) 「E3」に表示してはいけない日時:土曜日、日曜日、祝日(振替休日を含む)、12月29日~1月3日(年末年始) 「E4」に表示してはいけない日時:土曜日、日曜日、祝日(振替休日を含む)、12月29日~1月3日(年末年始) 「E5」に表示してはいけない日時:土曜日、日曜日、祝日(振替休日を含む)、12月29日~1月3日(年末年始) 「E6」に表示してはいけない日時:土曜日、祝日(振替休日を含む)、12月29日~1月3日(年末年始) ■その他 01. いずれも関数のみで表示すること。 02. 祝日は、他のシートとすること。「シート2」とする。 03. 関数式の祝日の設定は、増減・変更の可能性があるためその部分の関数式を変更しなくても永久に使えるようにすること。 条件は以上です。 ■「F3~F6」について 「F3~F6」については、「開始日時」より1日前まででは「手続き必要なし」、「開始日時」から「終了日時」までの期間までなら「手続き可能中」、「終了日時」より1日後以降なら「期限切れ」という文字列を表示したいです。 Excel2010です。 これらの条件を満たした関数式を教えてください。 できれば、関数式の具体的な解説もいただけるとありがたいです。 難しいとは思いますが、回答よろしくお願いします。

  • ☆逆算できる時計について

    逆算できる時計のソフトを探しています。 例えば、10月1日に設定して、『残りあと10日』というようにデスクトップ上に表示できるフリーウェアなどありましたら教えていただけないでしょうか? 自分なりには探してみたのですが、結局見つかっておりません。 よろしくお願いします

  • 更新日時等の表示がおかしい

    エクスプローラーの「ファイルの詳細表示の設定」で、更新・作成・アクセス日時を表示できるようにしています。 しかしながら、表示される日時は、2002/02/15 のように、現在時間とはまったく違う時間が表示されてしまいます。 (現在時間の設定には問題はありません。) このため、いつ更新したデータなのか分からなくなり大変困っています。 何が原因なのでしょうか?

  • JavaScriptで、現在日時から100日後の日時を表示させるには?

    JavaScriptで、現在日時から100日後の日時を表示させるには? JavaScriptで、現在日時から100日後の日時を求め、表示させたいと思っています。 「現在日時を取得する方法」と、「それを表示形式へ変換する方法」は、わかっています。 しかし、「100日後の日時」を表示させる方法が分かりません。 もちろん、年・月・日をまたぐ場合にもちゃんと対応できることが前提です。 極力、単純な方法が理想です。 以下、コードです。ご教授よろしくお願いします。 function func() { var day = new Date(); var datestr = day.toLocaleString(); alert(datestr); }

  • デスクトップの日時が頻繁に狂う

    デスクトップ右下の日時が頻繁に、しかも極端に狂います。 昨日は「2002年5月23日」とかになって時刻もむちゃくちゃ。 昨日きちんと直したのに今朝は「17日」になってましたし、時間もまたむちゃくちゃ。 以前からも5-10分単位ではしょっちゅう狂ってましたが ここまで極端に頻繁に狂うので、困っています。 なんとか出来る方法をご存知の方がいらっしゃいましたらよろしくお願いしますm(_ _)m 

  • Desktop時刻表示とメール送受信日時表示が同一になりません。。

    Desktop時刻表示とメール送受信日時表示が同一になりません。。 [日付と時刻]で、 手動設定で時刻を時報等に合わせても、メール送受信での日時表示が9時間前にズレてしまいます。 逆に自動設定にてtime.asia.apple.com 選択、時間帯JST東京-日本選択すると、 [日付と時刻]ウィンドウ内のデジタル表示は実際の時刻から9時間前、 アナログ表示は12時間前を表示し、デスクトップ時計はそのデジタル表示と同時刻になります。 何とも稚拙な質問かと思いますが、、何卒ご回答頂けたら有難いです。

    • ベストアンサー
    • Mac
  • 日時の表示の件で

    いつもお世話になっております。 現在テーブルに 日時が 下記状態で格納されております。  2012-12-27T15:46:02+0800 (標準時間(タイムゾーン?)というのでしょうか。) これを 2012-12-27 15:46:02 という形式で表示させたいのですが ご指導いただけませんでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • twitterで、(投稿)日時を非表示にすることはできますか?

    twitterで、(投稿)日時を非表示にすることはできますか? 「○分前に投稿」「○月○日00:00」といった表示です。 方法があれば、お教え下さい。

  • 日時チェック

    perlで入力された「日付」と「時刻」のチェックを行いたいです。。 実在日チェックは「Date::Calc」を使用したのですが、現在の日時より過去の日時が入力された場合のチェック方法がわかりません。 よろしくお願い致します。

  • 特定日時の○○秒後の日時をだしたい

    特定の日時を基準とした場合における、○○秒後の日時をだす式を教えてください。 例えば、特定の日時が 2008年04月09日08時03分01秒 で、その 23948759秒後 はいつになるのかといった具合です。 特定の日時・○秒後 は、その都度変化するものと考えてください。秒数がマイナスになることはありません。日時は日本時間が基準です。 また、日時は 20080409080301 といった14桁の数字で表示してもよろしいです。 よろしくお願いいたします。 環境: php5

    • ベストアンサー
    • PHP