• 締切済み

【VC++2005(CLR)】時刻の入出力、計算処理の方法を教えてください。

VC++初心者です。 現在CLRでプロジェクトを作成しており、時刻の処理について悩んでおります。 宜しければ、教えて頂けませんでしょうか。 お手数ですが、よろしくお願いします。 *****やりたいこと(例で紹介します。)****************** ・ユーザに「23:00:00」(23時00分00秒の意味)を入力欄1に入力させます。 ・ユーザに「02:00:00」(02時00分00秒の意味)を入力欄2に入力させます。 ・経過時間「03:00:00」(03時00分00秒の意味)を出力欄1に出力させます。 条件: ・時刻は24時間表記のみです。 ・上記例のように日をまたぐことも考慮します。 ・入力欄1用に、1つのテキストボックス、または、コンボボックスを使用します。  (ボックスの種類は指定しません。)  ただし、時間、分、秒、それぞれ分割されたボックスを使用しないで下さい。 ・入力欄2も入力欄1と同様のボックスを指定ます。 *******************************************************

みんなの回答

回答No.1

とりあえず http://oshiete1.goo.ne.jp/qa4865001.html はどうなったのかレスをつけてください。 入力欄2は必ず入力欄1以上になるのでしょうか? TimeSpanについて調べてみてください。 ちなみに、C++に限定するとあまりいいWebサイトがないのですが、 VBやC#でも同じ.NET Frameworkのライブラリを使っているので、文法以外は参考になるはずですので、 言語が違うからここのサイトは使えないという風にとらえずに探してい見てください。 (C# TimeSpanと検索すれば十分なほど参考になるWebサイトが見つかるはず)

yuki7091
質問者

お礼

返答が遅れまして、すみませんでした。 DateTimeとTimeSpanを混同していました。 今回の私の質問の場合は、TimeSpanを使うべきですね。 アドバイス、ありがとうございました。

yuki7091
質問者

補足

ご回答ありがとうございます。 ​http://oshiete1.goo.ne.jp/qa4865001.html の問題はお陰さまで解決しました。 ありがとうございました。(理解はまだ十分でないですが。) >入力欄2は必ず入力欄1以上になるのでしょうか? 質問の例で示すように、必ずではございません。 入力欄1<入力欄2の場合:入力欄2-入力欄1で、 入力欄1>入力欄2の場合:(入力欄2+24時間)-入力欄1で 経過時間を計算しようと思います。 >TimeSpanについて調べてみてください。 アドバイスありがとうございます。 調べた後、再度ご連絡をさせて頂きます。

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

関連するQ&A

  • 時刻計算

    1)時刻を2つ入力してかかった時間を計算したい 2つのセルに時刻を 【例】16:00 17:00 のように入力してB1-A1としたら1:00と出てきたのですが、 24時をまたいでしまうと、この方法が使えません。 2)かかった時間を”分”で表示したい セルの書式設定、ユーザー定義で h*60+m"分" としてみましたが、「入力した表示形式が正しくありません」 と出てしまいます。 何か方法はないでしょうか?

  • VB6で定時刻処理

    VB6で1日1回、決まった時間に処理をさせたい、という場合、どういう方法で行うのが一番いいのでしょうか。 私が現在やっている方法は、 1分ごとにタイマーイベントを発生させ、その中で、現在の日時が指定の時刻だったら処理を起動する、という仕組みです。 しかし、これでは負荷状況によってはタイマーのイベントや、以降の処理が待たされ、時刻の判定をするタイミングで、すでに目的の時刻を過ぎてしまっているということが考えられます。 タイマーイベントが9:59:59秒に発生し、現在時刻を取りに行ったら10:00:00秒になっていたというようなケースです。 時刻の判断は、hh:mmのフォーマットで比較しているので、分の単位が違えば条件に合致しなくなります。 誤差範囲を設け、「現在の時刻-30秒 < 指定時刻 <= 現在の時刻+30秒」のような条件にすれば、ある程度回避できますが、1分以上待たされるようなケースでは対応できません。 このような状況を回避するにはどうしたらいいでしょうか。 処理を起動する時刻が可変なので、Windowsのタスクなどは使えないです。 ATコマンドをうまく使えばできるのでしょうか。 よろしくお願いいたします。

  • .NETでのエラー処理方法について

    またまたお世話になります。 VB.NETでおおよその動作を確認して、今データ入力時のエラートラップにかかっています。 2つのコンボボックスに開始時間と終了時間を入力するようにしており、終了時間のコンボボックスがフォーカスを失ったときに  If 入力時間 > 終了時間 Then messagbox.show("時間がおかしいよ!") ComboBox1.Focus() End If というチェックをかけています。 実際には"時""分"をそれぞれコンボボックスから2バイトのテキストで入力させ、数値換算して大小比較をさせる式を使って判断させています。 メッセージ表示後に入力時間のコンボボックスにフォーカスを戻してもコンボボックス2はフォーカスがないのでずっと繰り返ししつこくメッセージが出続けます。 (当たり前ですよね) 修正するためにこのメッセージを停止する、あるいは計算ルーチンを抜けるにはどうしたらいいのでしょうか? (実際に修正が出来るようにするには??) チェックの考え方が間違っているのかもと思いますが、それも合わせてよろしくお願いいたします。

  • アクセスVBAでの時刻の計算

    開始時刻と終了時刻をテーブルに保存するために、フォームの入力欄に、操作者は3つ入力します。 A開始時刻の時 B開始時刻の分 C完了までの時間(分間) 開始時刻は、A時B分でそのままテーブルに保存できます。 終了時刻は、(A時B分+C分の計算結果の時部)時(A時B分+C分の計算結果の分部)分 としてテーブルに保存できますが、どのように表記したらよいのでしょうか? よろしくお願いいたします。 ( Windows XP : Access 2002 )

  • VBA ユーザーフォームで

    VBAのユーザーフォームで、時間を入力し、何分だったかを出したいのです。 例えば、コンボボックス1~4を用意して、1にスタートの時間、2にスターの分、3にエンドの時間、4にエンドの分を入力し、エンドの時間からスタートの時間を引けば、何分かかったが出せると思うのですが、hhmm時間ではなく、mm分で出したいのですがそのようなことは出来ますか? コンボボックス1に、hhの意味を持たせて、2にmmの意味を持たせ、1と2を合わせると1つの時間(hhmm)になるようにしたいのです。そのような関数はありますか? また、コンボボックスに入力する際に、時間なので、2バイト入れれば次のコンボボックスにカーソルが移動するような制御はありますか? 宜しくお願いします。

  • 時刻計算の仕方おしえてください!!

    マイクロセカンドまである時刻の計算をやり方教えてください?? 例 4時37分34秒7232マイクロセカンド・・・・・(1)    4時37分33秒368194マイクロセカンド・・・・(2) (1) - (2) を計算したいんです。こんな計算が100個以上あるんです。 公式化してくれるとうれしいです。ずうずうしくてごめんなさい。 繰り上げがあったりするからややこしくって・・・焦 ちなみに7232マイクロセカンドをミリセカンドにするのはどうしたらいいんでしょうか??7232÷100したらいいんですか?? 数学苦手なんで教えてください。数字得意な方おしえてください!!

  • 秒数の計算方法について

    エクセルで、開始時間と終了時間を入力して何秒掛かったか計算したいのですが。 たとえば、開始102216(10時22分16秒)終了102650(10時26分50秒)で、答えは274秒だとわかるのですが、データが大量の為(約1万6000件以上)関数などで 計算する方法を教えてください。ちなみに、データは 102216のように数字になっていて時刻表示に直すことは出来ません。どうかよろしくお願いします。

  • エクセルでの時刻表示計算式(昼休みを除いて●●分刻み)

     エクセルの計算式でできるのか、またできるならどういう計算式になるのか教えてください。   エクセルの計算式で、指定時刻から昼休み(12時~13時)の1時間を除いて、15分刻みまたは、5分刻みで時刻を表示するような計算式は可能でしょうか? 何分刻みで表示するかを指定して、時刻を表示する計算式は、作成できるのですが、昼休みを除く方法がわかりません。 具体的には、 面接時間を 指定時刻から、15分刻みに設定し、別シートで作成した通知を各人毎に作成するようなエクセルファイルを作成したいと思っています。(アクセスは、不可です) 入力用シートの、A列に、指定開始時間から15分刻み表示         B列に、人の名前を入力 出力シートの通知の宛名、開始時刻を表示するセルにリンク させたいと思っています。 午後の時刻OR宛名を作成の都度リンクさせなおす(または手入力する)以上に簡単な方法が思いつきません。何か方位方があれば教えて下あ

  • C++について

    (1) 秒単位で表現された時間を読み込み、時間、分、秒の単位に変換し、結果を出力するプログラムを作 りなさい。(例: 3661 秒 ! 1 時間 1 分 1 秒) (2) 「5 時 18 分 34 秒から 14 時 9 分 11 秒までは◯時間△分×秒ある」といったことを計算するプログラ ムを作りなさい。すなわち、2 つの時刻を入力して、その間の時間差を求めることになる。 誰かアルゴリズム教えてください

  • 2つの時刻間の時間を計算したい。

    よろしくお願いします。 エクセル2010、OSはWindows7です。 例) セルA1 に時刻その1 セルB1 に時刻その2 というデータが入力されています。 時刻は、YYYY/MM/DD hh:mm の形式で入力されており、2つの時刻の差は24時間以上なので日付は異なります。 この2つのセルの時間差をhh:mmの形式で表したいですが、単純に引き算しただけでは思うようにいかないようです。 やり方を教えてください。