将两个文本框中的字符串转换为hh:mm vb.NET

将两个文本框中的字符串转换为hh:mm vb.NET,vb.net,vb.net-2010,Vb.net,Vb.net 2010,我正在VB.NET中为一个轮班运行的制造单元开发一个应用程序。在每个班次结束时,应用程序应发出警报,指示班次已结束 在应用程序中,用户在以小时和分钟为单位的轮班时间文本框中键入,然后单击保存按钮将其保存到数据库中 如图所示,当应用程序加载、每班的小时数和分钟数存储在变量中时,第一班在下午3:30结束,第二班在晚上11:30结束,第三班在上午7:30结束 我的问题是,如何将这些变量的值转换为时间格式(HH:mm),以便我可以将轮班时间与系统时间进行比较,并在每天轮班结束时发出警报,而不考虑日期

我正在VB.NET中为一个轮班运行的制造单元开发一个应用程序。在每个班次结束时,应用程序应发出警报,指示班次已结束

在应用程序中,用户在以小时和分钟为单位的轮班时间文本框中键入,然后单击保存按钮将其保存到数据库中

如图所示,当应用程序加载、每班的小时数和分钟数存储在变量中时,第一班在下午3:30结束,第二班在晚上11:30结束,第三班在上午7:30结束

我的问题是,如何将这些变量的值转换为时间格式(HH:mm),以便我可以将轮班时间与系统时间进行比较,并在每天轮班结束时发出警报,而不考虑日期。下面是到目前为止我已经尝试过的代码

 Private Sub TmrMonitor_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TmrMonitor.Tick
    Dim Tim As String = TxtHH.Text & ":" & TxtMM.Text
    LblShift.Text = (DateTime.ParseExact(Tim, "hh:mm", CultureInfo.InvariantCulture)) = DateTime.Now()
    TmrMonitor.Stop()
    ReadReg()            ' Read data from PLC
    If FormActive = True Then
        TmrMonitor.Start()
    End If
    CommStat()           ' PLC communication status
End Sub
提前谢谢

Prashant.

改变

LblShift.Text = (DateTime.ParseExact(Tim, "hh:mm", CultureInfo.InvariantCulture)) = DateTime.Now()


问题是,当使用
DateTime.ParseExact
时,它以
MM/dd/yyyy hh:MM:ss tt
格式返回日期。但是在您的情况下,您只需要
HH:mm
格式,因此使用下面的代码进行比较,这样就可以了。请注意,这只是一个简单的方法,因为您已经指定不关心日期

LblShift.Text = Tim = Format(DateTime.Now, "HH:mm")

希望有帮助。

我只是想说清楚。是否要将小时和分钟附加在一起,以便形成HH:mm格式。因此,文本框
15
30
中的值显示为
15:30
?是的,但当我附加这些值时,我无法比较系统日期和轮班时间。好的,发布您尝试的代码。当我附加这些值时,我无法比较系统日期和轮班时间。编辑问题,然后在其中发布代码,并发布您尝试过的代码!请在代码上添加注释。我不理解你在那里用
ReadReg
FormActive
以及其他软件做什么。很乐意帮忙。请记住,仅使用
Time
时,请使用
TimeSpan
而不是
DateTime
ParseExact
返回一个没有格式的
DateTime
LblShift.Text = Tim = Format(DateTime.Now, "HH:mm")