以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  请教,如何判断文本框内容符合日期格式输入?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=19412)

--  作者:baoxyang
--  发布时间:2012/5/9 10:29:00
--  请教,如何判断文本框内容符合日期格式输入?

文本框格式一定要符合日期格式规范输入(yyyy-MM-dd)如:2012-01-01

否则提示输入格式有误呢?

如果月份超出12也报错,当月无此日期也报错。这个如何实现?谢谢指点!


--  作者:FoxMan
--  发布时间:2012/5/9 10:36:00
--  

带判断的转换

显然任何类型的数据,都可以转换为字符型。
但是对于其它类型的数据,却有转换失败的可能,例如:

Dim s As String = "abc"
Dim
v As Long = 123
Return
CLng(s) +
v

如果在命令窗口执行上面的代码,会出现错误提示:字符串"abc"无法转换为长整数。
为了解决这个问题,我们可以采用另一种转换方法。

除了String(字符)类型外,所有的基本数据类型,都有一个TryParse方法,用于将其它类型的数据转换为本类型的数据。

语法

Type.TryParse(Value,Variant)

说明

Type:   目标数据类型,例如Date、Integer、Long、Double等等。
Value:  要进行转换的数据。
V
ariant: 用于存放转换结果的变量,变量的类型必须和Type指定的类型一致。

如果转换成功,则将转换结果存储在变量Variant中,并返回True,否则返回False。

例如:

Dim s As string = "123.1"
Dim
d As Double
Double
.TryParse(s, d) \'将变量s的内容转换为数值,并存放在变量d中
Output.Show(d +
100)
\'输出结果是223.1

再例如:

Dim d As Date \'变量d用于存储转换结果
If
Date.TryParse("1999/12/31", d) Then \'如果转换成功
    Output.Show(d)
\'输出转换结果
Else

    Output.Show(
"无效日期格式") \'给出错误提示
End
If


--  作者:baoxyang
--  发布时间:2012/5/9 10:38:00
--  
找到答案了。