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