Dim datatime2 = Now.ToString("d")
 Dim datatime1 As String = dss.Tables("dqck").Rows(0)(0)‘这是从数据库中提取出的一个日期值
  Dim c As String = datatime2 - datatime1是不是有问题??能不能直接相减~~
提示错误是:输入字符串的格式不正确。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.FormatException: 输入字符串的格式不正确。源错误: 
行 52:         Dim datatime1 As String = dss.Tables("dqck").Rows(0)(0)
行 53:         ' Dim c As String = ds1.Tables("dqck").Rows(0)(0)
行 54:         Dim c As String = datatime2 - datatime1
行 55:         Dim lixi As String = 0.3 * xx * c
行 56:         Label1.Text = "取款成功~~"

解决方案 »

  1.   

    dim c as timespan
    c=datatime2-datatime1
      

  2.   

    dim ts as timespan
    ts=Convert.ToDateTime(datatime2)-Convert.ToDateTime(datatime1)
    dim tsstr as string
    tsstr=ts.ToString();
      

  3.   

    问题仍未解决~~我按照楼上的改了~~
    还是同样的错误~~
    我想还用不用改datatime2和datatime1的类型??
      

  4.   

    两个日期相减,得到的是 timespan 类型string s = (datetime1 - datetime2).ToString();
      

  5.   

    假如datatime2 和datatime1的类型是DateTime 型的就不用改了
    他们相减返回的类型就是TimeSpan类型
      

  6.   

    可以是你的兩個時間的格式不相同吧..(我沒試過)
    估計是這裏有問題:
    Dim datatime2 = Now.ToString("d")與
    Dim datatime1 As String = dss.Tables("dqck").Rows(0)(0)
    這兩個時間的格式,你檢查一下.
      

  7.   

    dim ts as timespan
    ts=Convert.ToDateTime(datatime2)-Convert.ToDateTime(datatime1)
    dim tsstr as string
    tsstr=ts.ToString();
    我按照这样做为什么Convert.ToDateTime(datatime2)-Convert.ToDateTime(datatime1)总是出现下划线??
    我用的是vb
      

  8.   

    ts = DateDiff("d", Convert.ToDateTime(datatime2), Convert.ToDateTime(datatime1))yyyy Year 
    q Quarter 
    m Month 
    y Day of year 
    d Day 
    w Weekday 
    ww Week of year 
    h Hour 
    n Minute 
    s Second 参数用d的话返回多少天,参数表上面有,自己看
      

  9.   

    还是不行~~~DateDiff("d", Convert.ToDateTime(datatime2), Convert.ToDateTime有下划线~~我的原代码是:: Dim conn As SqlConnection = New SqlConnection("server=localhost;uid=sa;database=yhcx")
            Dim sql As String = "select yumoney from dqck where accountnum='" & id & "'"
            Dim sql1 As String = "select datetime from dqck where accountnum='" & id & "'"        Dim datatime2 = Now.ToString("d")
            Dim comm As SqlDataAdapter = New SqlDataAdapter(sql, conn)
            Dim comm1 As SqlDataAdapter = New SqlDataAdapter(sql1, conn)        conn.Open()
            Dim ds As DataSet = New DataSet
            Dim dss As DataSet = New DataSet        comm.Fill(ds, "dqck")
            comm1.Fill(dss, "dqck")        Dim xx As String = ds.Tables("dqck").Rows(0)(0)
            Dim datatime1 As String = dss.Tables("dqck").Rows(0)(0)        Dim ts As TimeSpan
            ts = DateDiff("d", Convert.ToDateTime(datatime2), Convert.ToDateTime(datatime1))
            Dim tsstr As String
            tsstr = ts.ToString()        Dim lixi As String = 0.3 * xx * tsstr
            Label1.Text = "取款成功~~"
            Label2.Text = "您的余额为:'" & xx & "' "        Label3.Text = "您到目前为止的利息是:'" & lixi & "'"
            conn.Close()
    大家看看有什么问题??
      

  10.   

    int ts=datetime2.Subtract(datetime1)).Day
    也是一種方法
      

  11.   

    DateDiff也可
    不过好像还是TimeSpan好用一点