VB 经过时间的方法混乱
VB Elapsed time method confusion
我必须编写一个程序来查找经过的时间,当我在 2 个文本框中输入 2 次时,一个文本框将是开始时间,另一个文本框将是结束时间,我不知道如何我这样做。
例子
开始时间是 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
快从我脑子里跳出来:
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.ParseExact
afaik
提供输入字符串的格式
要在文本框中输入的字符串无法解析时捕获错误,请使用 DateTime.TryParse
。
首先,使用Dateime.Parse
or DateTime.ParseExact
to convert the string
in the text boxes into DateTime
s,
Dim start = DateTime.Parse(txtStart.Text)
然后你就可以找出两者的区别DateTime
s by using the Subtract
method which returns a TimeSpan
.
Dim difference = end.Subtract(start)
我必须编写一个程序来查找经过的时间,当我在 2 个文本框中输入 2 次时,一个文本框将是开始时间,另一个文本框将是结束时间,我不知道如何我这样做。
例子
开始时间是 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
快从我脑子里跳出来:
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.ParseExact
afaik
要在文本框中输入的字符串无法解析时捕获错误,请使用 DateTime.TryParse
。
首先,使用Dateime.Parse
or DateTime.ParseExact
to convert the string
in the text boxes into DateTime
s,
Dim start = DateTime.Parse(txtStart.Text)
然后你就可以找出两者的区别DateTime
s by using the Subtract
method which returns a TimeSpan
.
Dim difference = end.Subtract(start)