Vb.net 比较日期和时间
我想编写一个闹钟应用程序,在用户设置的时间显示特定消息。Vb.net 比较日期和时间,vb.net,Vb.net,我想编写一个闹钟应用程序,在用户设置的时间显示特定消息。 如何将系统日期和时间与用户在文本框中设置的时间进行比较? 谢谢 Furqan您应该使用智能感知功能。。。但暗示是: DateTime.Parse 你需要一个计时器,我叫他“计时器”(你应该给他起个更好的名字…),然后从中读答案,他让它独立于文化 Private Sub timEr_Tick(sender As System.Object, e As System.EventArgs) _ Handles timEr.Tick
如何将系统日期和时间与用户在文本框中设置的时间进行比较? 谢谢
Furqan您应该使用智能感知功能。。。但暗示是:
DateTime.Parse
你需要一个计时器,我叫他“计时器”(你应该给他起个更好的名字…),然后从中读答案,他让它独立于文化
Private Sub timEr_Tick(sender As System.Object, e As System.EventArgs) _
Handles timEr.Tick
timEr.Enabled = False
If DateTime.Now >= DateTime.Parse("29.06.2011 17:29") Then
MessageBox.Show("Time to leave the office ....")
End If
End Sub
您可以将
TextBox.Text
值转换为DateTime
值,如下所示:
String dateTimeFormat = "MM/dd/yyyy hh:mm:ss tt";
DateTime dateTimeValue =
DateTime.ParseExact(textBox.Text, dateTimeFormat ,
CultureInfo.InvariantCulture);
将日期和时间的指定字符串表示形式转换为其等效日期时间。字符串表示形式的格式必须与指定的格式完全匹配,否则会引发异常。最好使用
System.DateTime
对象
只要确保在从文本框中获取用户输入时,将其保存在DateTime
对象中,然后就可以使用通用的DateTime.Equals
来比较两者
Dim currentDateTime As New System.DateTime
Dim alarmDateTime As DateTime
currentDateTime = Date.Now
alarmDateTime =
New DateTime(2011, Month(Date.Now), dayInput, hourInput, minuteInput, 0)
If currentDateTime.Equals(alarmDateTime) Then
'alarm code
End If
这样的事情应该完成
编辑:与手动创建alarmDateTime对象相比,其他解决方案中概述的解析方法更适合创建alarmDateTime对象。由于您使用的是VB.NET,因此可以使用Microsoft.VisualBasic.DateAndTime中的功能。例如,您可以使用DateTime.Parse
(或者更好的是,.TryParse
)获取用户值的DateTime
表示,然后检查系统时间是否在用户时间的一分钟内。这样,你就不需要再浪费时间了
Dim diffInMinutes As Long =
Microsoft.VisualBasic.DateAndTime.
DateDiff(DateInterval.Minute, userTime, DateTime.Now)
谢谢除了在结束时将计时器带到end.Enabled=False,如果