-2

2 つのテキスト ボックスに 2 つの時間を入力すると、経過時間を見つけるプログラムをコーディングする必要があります。1 つのテキスト ボックスが開始時間になり、もう 1 つのテキスト ボックスが終了時間になります。


開始時刻が 12:45
、終了時刻が 13:15
の場合、経過時間は 30 分である必要があります


Public Class Form1 

    Dim starttime As DateTime 
    Dim endtime As DateTime 
    Dim timetaken As TimeSpan 
    Private Sub btnOK_Click(sender As Object, 
        e As EventArgs) Handles btnOK.Click 
        starttime = txtStart.Text 
        endtime = txtEnd.Text 
    End Sub 

End Class
4

2 に答える 2

2

頭からすぐに:

Option Strict On 'every good programmer does this

Public Class Form1 

    Private starttime As DateTime 'Please use Dim only in functions or subs
    Private endtime As DateTime 
    Private timetaken As TimeSpan 

    Private Sub btnOK_Click(sender As Object, e As EventArgs) Handles btnOK.Click 
        starttime = DateTime.Parse(txtStart.Text) 'Parse the string input
        endtime = DateTime.Parse(txtEnd.Text)
        timetaken = endtime - starttime
    End Sub 

End Class

もちろん、これはインスタンスに解析できる文字列に大きく依存しDateTimeます。システム文化にも依存します。入力文字列がどのように表示されるかの詳細については、https://msdn.microsoft.com/en-us/library/System.DateTime.Parse (v=vs.110).aspx を参照してください。日で十分な場合は、代わりに DatePicker コントロールを使用できます (ただし、残念ながら時間の必要性はサポートされていません)。

DateTime.ParseExactafaikで入力文字列の形式を指定できます

テキスト ボックスに入力された文字列を解析できなかったときにエラーをキャッチするには、 を使用しますDateTime.TryParse

于 2015-02-11T14:23:56.900 に答える
0

まず、Dateime.Parseorを使用して、テキスト ボックス内の をsDateTime.ParseExactに変換します。stringDateTime

Dim start = DateTime.Parse(txtStart.Text)

次に、 a を返すメソッドをDateTime使用して、2 つの の違いを見つけることができます。SubtractTimeSpan

Dim difference = end.Subtract(start)
于 2015-02-11T14:26:49.673 に答える