我有一个蒙面文本框。
当用户输入输入并按Tab键时。我想检查一下他是否输入了有效日期?
我可以通过IsDate
函数来检查。
如果它无效,那么该日期的哪一部分无效?
我无法得到这个。我的意思是我不知道怎么做到这一点。
如果我的上述问题得到解答,那么我想问用户他的日期,月份或年份是无效的。您想用当前日期或当前月份或当前年份替换它吗?
或者即使用户将年份保持为空白,我也希望将当前年份替换为空白。 或与月份相同。
答案 0 :(得分:1)
您在这里有几个不同的问题,并不是非常清楚您真正想要的是什么,但要回答关于获取当前日/月/年的问题,请查看DateTime.Now。
DateTime.Now.Day gets you the current day
DateTime.Now.Month gets you the current month
DateTime.Now.Year gets you the current year
答案 1 :(得分:0)
以下是我的问题的答案。
Private Sub mskdTxtBox1_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles mskdTxtBox1.Validating
'Check If Day is entered.
If mskdTxtBox1.Text.Substring(0, 2).Trim <> "" Then
'Check if Month is entered.
If mskdTxtBox1.Text.Substring(3, 2).Trim <> "" Then
'Check if year is not entered.
If mskdTxtBox1.Text.Length = 6 Then
'Check if Date and month entered are valid.
If IsDate(mskdTxtBox1.Text & Now.Year) Then
mskdTxtBox1.Text = mskdTxtBox1.Text & Now.Year
End If
End If
Else
'Check if Date entered will be valid for the current date that we want to create?
If IsDate(mskdTxtBox1.Text.Substring(0, 2).Trim & "-" & Now.Month & "-" & Now.Year) Then
'Check if month is two digit?
If Now.Month.ToString.Length < 2 Then
mskdTxtBox1.Text = mskdTxtBox1.Text.Substring(0, 2).Trim & "-0" & Now.Month & "-" & Now.Year
Else
mskdTxtBox1.Text = mskdTxtBox1.Text.Substring(0, 2).Trim & "-" & Now.Month & "-" & Now.Year
End If
End If
End If
Else
Dim TodaysDay As String = Now.Day
Dim TodaysMonth As String = Now.Month
'Check if Current day is two digit?
If Now.Day < 10 Then
TodaysDay = "0" & Now.Day
End If
'Check if Current Month is two digit?
If Now.Month < 10 Then
TodaysMonth = "0" & Now.Month
End If
mskdTxtBox1.Text = TodaysDay & "-" & TodaysMonth & "-" & Now.Year
End If
End Sub