Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 需要帮助Visual Basic IsDate(),欧洲日期(dd/mm/yyyy)格式函数_Vb.net_Date_Datetime_Vb.net 2010 - Fatal编程技术网

Vb.net 需要帮助Visual Basic IsDate(),欧洲日期(dd/mm/yyyy)格式函数

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

我是VisualBasic的新手,我正在开发一个程序,需要一些帮助

我有3个独立的文本框,分别表示日、月和年,没有一个文本框接受任何其他字符,而不是数字。 现在我想编写一个代码,这样程序每次都会检查当前日期,并提醒您是否输入了已过期的日期,例如输入D:11 M:11 Y:2012

有人能帮我吗?

航空代码

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“该日期已过期”
如果结束
文档链接:


您是否有任何特殊原因希望将输入设置为3
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。