当前位置:编程学习 > C#/ASP.NET >>

类型转换小问题求解决

     Dim dtdate As Date, cdt As Integer
        dtdate = CDate(Request("date"))
        cdt = DateDiff(DateInterval.Day, Now(), dtdate)   'P160  
    Response.Write("今天的日期是" & CStr(Now()))
    Response.Write("<br>您所输入的日期和今天相差:" & CStr(cdt))

就是转换的时候
dtdate=cdate(request("date"))
编译不通过啊
  从字符串“”到类型“Date”的转换无效。 --------------------编程问答--------------------

提示很明显。。。request("date")为""; --------------------编程问答-------------------- cdate() expression的 参数范围 需要是有效的日期和时间表示法 比如MyDate = "October 19, 1962"
MyTime = "4:35:47 PM"   
--------------------编程问答-------------------- http://msdn.microsoft.com/zh-cn/library/ch92fbc1(VS.95).aspx

Date.TryParse() 方法防止异常发生 --------------------编程问答--------------------
引用 1 楼 porschev 的回复:
提示很明显。。。request("date")为"";

date是外部获取的,格式没错的 --------------------编程问答--------------------
引用 2 楼 abc713935 的回复:
cdate() expression的 参数范围 需要是有效的日期和时间表示法 比如MyDate = "October 19, 1962"
MyTime = "4:35:47 PM"

是的,但是我的date是外部获取的,在浏览器输入?date=2011-5-11 --------------------编程问答--------------------
引用 3 楼 xingyuebuyu 的回复:
http://msdn.microsoft.com/zh-cn/library/ch92fbc1(VS.95).aspx

Date.TryParse() 方法防止异常发生

新手啊,,看不懂啊,大大能不能帮我写个
从外部?获取date=2011-5-11,然后从string转换为 date
我一转就错误  --------------------编程问答-------------------- 可能是字符串格式的问题,你直接在代码用标准的时间字符串测试下。如‘2011-05-11’或‘2011-05-11 00:00:00’,保险起见可以先判断下传入的值是否为时间格式字符串IsDate(),不是输出它不就知道原因了? --------------------编程问答--------------------

        Dim s As String = "2011-5-11"

        Dim dt As Date
        If Date.TryParse(s, dt) Then
            MsgBox("convert success")
        Else
            MsgBox("input string is invalid date format")
        End If
补充:.NET技术 ,  VB.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,