VB.NET日期比较没有返回正确的结果?

时间:2011-03-05 14:15:33

标签: asp.net vb.net linq datetime date

我从数据库中提取日期值:

        Dim qfresho = From p In dbConfig.Configs _
                     Where p.Description = "FROD" _
                    Select p.dateValue
        Dim qfreshc = From p In dbConfig.Configs _
                      Where p.Description = "FRCD" _
                      Select p.dateValue

然后将这些日期值与当前日期进行比较:

        If qfresho.First.Value >= Date.Now And qfreshc.First.Value <= Date.Now Then
        lblFreshman.Text = "Freshmen are currently eligible to register for a room."
    Else
        Dim frdays As TimeSpan
        frdays = (qfresho.First.Value).Subtract(Now)
        lblFreshman.Text = "Registration will open for freshmen in " & frdays.Days & " days."
    End If

但由于某种原因,它总是返回Else条件 - 即使数据库中的值应该使查询成立。有任何想法吗?我猜是因为某些原因它没有将结果作为约会?

3 个答案:

答案 0 :(得分:1)

日期是否有时间组件可以放弃比较?

答案 1 :(得分:1)

Date.Now返回DateTime,您的数据库也有日期和时间或只是日期?如果您只想要日期,可以使用Date.Today。

答案 2 :(得分:1)

为什么不在比较之前添加两个调试???

    Debug.WriteLine(qfresho.First.Value.ToString("MM/dd/yyyy hh:mm:ss.ffff"))
    Debug.WriteLine(qfreshc.First.Value.ToString("MM/dd/yyyy hh:mm:ss.ffff"))

这应该有所帮助。