• ベストアンサー

VB2008で日付と時間の計算

教えて下さい。 VBで日付と時間の足し算をしたいのですがやり方がわかりません。 フォームに6つのテキストボックスを配置し、6つのテキストボックスには それぞれ日・時・分の数値を入力します。 例えばヤフーオークションの終了時刻を計算したい場合、 TextBox1~3に現在の日時を入力し、TextBox4~6に残り時間を入力します。 現在時刻 [4] 日 [17] 時 [44] 分 残り時間 [3] 日 [6] 時間 [30] 分 この数値の足し算結果をメッセージボックスに終了時刻として表示させるようにしたいのですが、やり方が分からず困ってます。 教えていただけないでしょうか。

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

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.2

dim dt as new Date( 2008, 4, Integer.Parse(TextBox1.text), _ Integer.Parse(TextBox2.text), Integer.Parse(TextBox3.text), 0 ) dt = dt.AddDays( Integer.Parse( TextBox4.Text )) dt = dt.AddHours( Integer.Parse( TextBox5.Text )) dt = dt.AddMinutes( Integer.Parse( TextBox6.Text )) MessageBOx.Show( dt.ToString ) といった具合で ... # エラー処理などは適宜追加してください

その他の回答 (1)

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

第6回 文字・数値・日付のあつかい http://homepage1.nifty.com/rucio/VBNyumon/BEGIN6.htm 5.# は日付を作る 参考になるのでは?

u_keyyy_2006
質問者

お礼

ご回答ありがとうございます。 日付の取り扱いのページ読みました。 自分には応用力がないので難しそうですが勉強になりました。

関連するQ&A

  • VB6での時間計算について

    VB6での時間計算について VB6で時間計算のプログラムを作成しています。 しかし、行き詰ってしまいました。 どなたかご教授願います。 3時50分から10時20分は何時間分経っているかという計算式で悩んでいます。 時間を打ち込み用にテキストボックスを4つ作ってまして、一つ目に「3」、二つ目に「50」、三つ目に「10」、四つ目に「20」という風に打ち込みコマンドボタンを押すと6.5時間と算出されテキストボックスかラベルに表示されるといったことをするにはどうしたらいいのでしょうか?

  • 残り時間の計算

    VB2008 残り時間の計算方法について教えてください。 ユーザーフォーム上に 時刻Label(現在時刻表示) textbox1(締切時刻) textbox2(締切時刻までの残り時間) を配置させています。 ユーザーフォームを開いた時に textbox1に表示している締切時刻までの 残り時間をリアルタイムにtextbox2に表示 させたいのです。(分と秒) 時刻Label(現在時刻表示)の表示は13:00:00 textbox1(締切時刻)の表示例は18:00 残り時間は最大で240分です。 下記のようなコードを書いたのですがエラーになります Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick Dim dtmData1 As DateTime Dim dtmData2 As DateTime Dim dtmData3 As DateTime 時刻Label.Text= TimeString dtmData1 = 時刻Label.Text dtmData2 = textbox1.Text dtmData3 = TimeValue(dtmData1) - (TimeString) textbox2.Text=dtmData3 End Sub よろしくお願いします。

  • VBで時間計算

    教えてください。 VBで時間の足し算をしたいのですが、方法が分かりません。 例えば、毎日の通信時間の合計を出したい場合ですが、 00:15:30(15分30秒) 00:45:31(45分31秒) の日があったとします。 この合計は01:01:01(1時間1分1秒)になると思います。この計算ができずに困っています。 教えて頂けないでしょうか。

  • VBの時間残計算プログラム

    こんにちはtmgmです。 VBの時間計算プログラム作成で困っています。 コンボボックスから年月日と時間と分を別々に計5つ指定して、現在時刻との差を出すとというプログラムです。 具体的にはこういうことです。 1.年(cboYear)、月(cboMonth)、日(cboDay)、時(cboHour)、分(cboMinute)をそれぞれリストから指定します。 2.現在の時刻との差をRestTimeに格納し、lblResult.Captionに代入します。(日付や年度をまたぐ場合の時間差も考慮します。) 困っていることというのは、最後のRestTimeがどうしても数値になってしまうということです。時間などは1899年12月30日を0としてそれぞれの日付が値を持っているというのは本に書いてありましたが、それをどうプログラムに反映していいものか、わかりません。 上記のようなプログラム、どなたかお分かりの方いらっしゃいますでしょうか? ご返答よろしくお願いします。

  • VB.NETでの時間計算

    いつもお世話になっております。 VB.NETに関しての初歩的な質問です。 TextBox1.Text「0900」 TextBox2.Text「1030」 などと4桁の文字列を入力して、時間を計算したいのです。 早い話、ある作業にどれくらいの時間を費やしたかを計算したいのです。 各項目毎に計算して、それぞれの集計もしたいと思っています。 上記のやり方だと何となくうまくいかないような気がするのですが、 一般的に利用されている方法があれば教えて頂きたいと思います。 初歩的な質問で大変恐縮ですが、 よろしくお願い致します。

  • VBマクロ 経過時間の表示

    こんにちは。VB勉強中の初心者です。 時間を計ろうと[start][stop]ボタンと [スタート時刻][ストップ時刻][経過時間]を表示するテキストボックスを作り、 WEB検索やテキストなどから引用し、以下のようなコードを書き込みました。 Private Sub CommandButton1_Click() StartTime = Time TextBox1.Text = StartTime TextBox2.Text = "" TextBox3.Text = "" CommandButton1.Enabled = False CommandButton2.Enabled = True End Sub Private Sub CommandButton2_Click() StopTime = Time t = (StopTime, StartTime)*24*3600 TextBox1.Text = StartTime TextBox2.Text = StopTime TextBox3.Text = t CommandButton1.Enabled = True CommandButton2.Enabled = False End Sub ですが、これでは[経過時間]の表示が秒単位の整数です。 表示方法を[時刻]と同様に「h:mm:ss」とすることは可能でしょうか? また、可能であれば、どのように加工したらよいでしょうか? よろしくお願いいたします。

  • 日付の計算

    VB6.0 ACCESS2000で開発しています。 下の様に開始時間と終了時間をテキストボックスに入力して ACCESSへ書き込んでいますが 例えば 作業開始が2:20で作業終了が4:50 ならは作業が2:30となりますが これを作業を2.5としたいのですがどうすればいいでしょうか? お願いします。 With rst .AddNew ![作業開始] = Text1.Text & ":" & Text2.Text ![作業終了] = Text3.Text & ":" & Text4.Text ![作業] = Text1.Text - Text3.Text & ":" & Text2.Text - Text4.Text .Update End With

  • VBAの計算について教えてください。

    お世話になります。 VBA超初心者です。 教えて頂けると助かります。 ユーザーフォームにテキストボックス1、2、3を作成し、それらを計算させて テキストボックス4に表示をさせたいと考えています。 テキストボックスに入力するパターンは以下の2種類です。 (1)すべてのテキストボックスに数値が入る (2)テキストボックス3のみに数値が入る 行いたい計算は、“(テキストボックス1 × テキストボックス2) + テキストボックス3”です。 曲りなりに作成してみましたが、テキストボックス3の数値を変えた時や削除した時などに、 テキストボックス4に入っている数値が残っていたりと、思うようにできません。 作成したものを掲載しておきます。 何卒よろしくお願いします。 テキストボックス1を変更したとき 1、3に数値が入っていれば、以下の計算を。 それ以外は“0”をテキストボックス4へ Private Sub TextBox1_Change() If TextBox1.Value = True And TextBox3.Value = True Then TextBox4 = Val(TextBox1.Text) * Val(TextBox2.Text) + Val(TextBox3.Text) Else TextBox4 = 0 End If End Sub テキストボックス2を変更したとき 2、3に数値が入っていれば、以下の計算を。 それ以外は“0”をテキストボックス4へ Private Sub TextBox2_Change() If TextBox2.Value = True And TextBox3.Value = True Then TextBox4 = Val(TextBox1.Text) * Val(TextBox2.Text) + Val(TextBox3.Text) Else TextBox4 = 0 End If End Sub テキストボックス3を変更したとき 1、2、3に数値が入っていれば、以下の計算を。 1か2に数値がなく、3に数値があれば、3の数値をテキストボックス4へ。 それ以外は“0”をテキストボックス4へ Private Sub TextBox3_Change() If TextBox1.Value = True And TextBox2.Value = True And TextBox3.Value = True Then TextBox4 = Val(TextBox1.Text) * Val(TextBox2.Text) + Val(TextBox3.Text) ElseIf TextBox1.Value = False or TextBox2.Value = False And TextBox3.Value = True Then TextBox4 = Val(TextBox3.Text) Else texbox24 = 0 End If End SubEnd Sub

  • VBで、テキストボックスを保存する方法

    VBで、テキストボックスを保存する方法 現在、VBでプログラムを書いていますが テキストボックスの中をテキスト形式で保存したいのです 保存したいのは、 textbox9です 現在、VBの(2010無料版をつかっています よろしくです

  • アクセスの時間計算について

    マイクロソフトアクセスについての質問です。現在アクセスで勤務時間表を作成しています。テーブルを作成し、勤務時間を入力します。この時、入力するフィールドの種類は、テキスト型で入力しています。1日から31日までレコードを入力し、入力し終わったところでレポートを作成しました。レポートは勤務時間を並べて最後に合計時間を出すというものなのですが、ページフッタのところに、テキストボックスを設置し、その中に「sum=[残業時間]」と入力しましたが、指定した式の構文が正しくありませんと表示されます。 おそらく勤務時間を入力しているフィールドがテキスト型のためエラーが出ているものと思われますが、勤務時間を入力フィールドを数値型にすると0:00分という表示ができなくなってしまいます。 やりたい作業としては、1:00+1:00=2:00というような計算をアクセスでする場合にはどのようにしたらいいのでしょうか。

専門家に質問してみよう