Vb.net 需要帮助Visual Basic IsDate(),欧洲日期(dd/mm/yyyy)格式函数
我是VisualBasic的新手,我正在开发一个程序,需要一些帮助 我有3个独立的文本框,分别表示日、月和年,没有一个文本框接受任何其他字符,而不是数字。 现在我想编写一个代码,这样程序每次都会检查当前日期,并提醒您是否输入了已过期的日期,例如输入D:11 M:11 Y:2012 有人能帮我吗?航空代码Vb.net 需要帮助Visual Basic IsDate(),欧洲日期(dd/mm/yyyy)格式函数,vb.net,date,datetime,vb.net-2010,Vb.net,Date,Datetime,Vb.net 2010,我是VisualBasic的新手,我正在开发一个程序,需要一些帮助 我有3个独立的文本框,分别表示日、月和年,没有一个文本框接受任何其他字符,而不是数字。 现在我想编写一个代码,这样程序每次都会检查当前日期,并提醒您是否输入了已过期的日期,例如输入D:11 M:11 Y:2012 有人能帮我吗?航空代码 Dim theYear As Integer, theMonth As Integer, theDay As Integer ' get text from textboxes and con
Dim theYear As Integer, theMonth As Integer, theDay As Integer
' get text from textboxes and convert to numbers
If Not Int32.TryParse(txtYear.Text, theYear) Then
MsgBox "Please enter a valid year!"
Exit Sub
End If
If Not Int32.TryParse(txtMonth.Text, theMonth) Then
MsgBox "Please enter a valid month!"
Exit Sub
End If
If Not Int32.TryParse(txtDay.Text, theDay) Then
MsgBox "Please enter a valid day!"
Exit Sub
End If
' combine numbers into a Date
Dim theDate As Date = Nothing
Try
theDate As New Date(theYear, theMonth, theDay)
Catch e As Exception
'year is less than 1 or greater than 9999.
'-or-
'month is less than 1 or greater than 12.
'-or-
'day is less than 1 or greater than the number of days in month.
MsgBox "Please enter a valid date!"
Exit Sub
End Try
' check whether date is in the past
Dim nowDate As Date = DateTime.Now
If DateTime.Compare(theDate, nowDate) < 0 Then
MsgBox "That date has expired"
End If
Dim年份为整数,月份为整数,日期为整数
'从文本框中获取文本并转换为数字
如果不是Int32.TryParse(txtYear.Text,theYear),那么
MsgBox“请输入有效年份!”
出口接头
如果结束
如果不是Int32.TryParse(txtmount.Text,theMonth),则
MsgBox“请输入有效月份!”
出口接头
如果结束
如果不是Int32.TryParse(txtDay.Text,theDay),则
MsgBox“请输入有效日期!”
出口接头
如果结束
'将数字组合成日期
日期变暗为日期=无
尝试
日期作为新日期(年、月、日)
捕获e作为例外
'年份小于1或大于9999。
“-或-
'月份小于1或大于12。
“-或-
'天小于1或大于月内的天数。
MsgBox“请输入有效日期!”
出口接头
结束尝试
'检查日期是否在过去
Dim nowDate As Date=DateTime.Now
如果DateTime.Compare(日期,现在日期)<0,则
MsgBox“该日期已过期”
如果结束
文档链接:
Textbox
es,而不是日期选择器
?(大多数人都习惯于这样做,这会将输入限制为有效的日期,这会给你一个DateTime
来直接使用)?此外,如果这是用于某种验证消息,了解你正在使用的UI系统会很有用-WinForms、WPF、Silverlight、ASP.Net?这是VB的最新版本吗,或者VB6?我正在开发一个简单的应用程序,它可以简化我的工作,3个文本框的输入似乎是最快的,而且更有条理,因为我想从Excel复制/粘贴日期。(如果只有一个文本框更简单的话,我想它会更好)乔恩:我用的是微软网站上免费的VB 2010,但我确实在一周前安装了它,所以它必须是最新的。谢谢你的回答MarkJ尽管我有几个问题。首先,为什么会有YYYY/MM/DD而不是相反?其次,我可以将以下变量链接为:theYear=InputYear.text theMonth=inputymonth.text theDay=inputyday.text
…这样从框中输入的文本可以被转换为Int。我从该代码中得到两个错误:-“Catch(e作为例外)->需要语句结尾”-If DateTime.Compare(the date,nowDate)<0然后->未声明错误2“theDate”。由于其保护级别,它可能无法访问。尽管它已明确声明。请参阅编辑。“air代码”意味着我没有编译或运行它。(我只是在闲暇时间在手机上键入了它,当时我碰巧无法访问PC)注意,我正在从文本框中获取年、月和日的值。谢谢,问题马上就解决了。我删除了“Catch e As Exception”部分(也不知道它是做什么的),它工作得很好。尽管它将今天的日期设置为过期,所以我将+1设置为“txtDay.Text”。感谢您的帮助,案件结案。:)@亚历克斯:我能给你一个友好的建议吗!!确保在使用代码之前理解代码始终是一个好主意,否则它可能无法满足您的需要。无论如何,异常处理是在用户输入虚假日期的情况下进行的,例如,日期=30,月份=2。