如何计算VB.net中两个日期之间的差异?

时间:2013-12-12 10:48:03

标签: mysql vb.net datatable

目前,我的所有结果都会返回“0”。

我做错了什么?

如果有帮助,当前代码会从SQL命令查询创建数据表,然后分别查看每一行以获取每个日期的差异。

当前代码:

    Dim Con = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;DataSource=ApplicationData.accdb;Persist Security Info=False;")
    Con.Open() 'Open the connection
    Dim strCommand As String = "SELECT fDateAdded, fName FROM Films"

    Dim SQL As New OleDb.OleDbCommand(strCommand, Con)
    Dim DataAdapter As New OleDb.OleDbDataAdapter(SQL)
    Dim DataTable As New DataTable("Films") ' Create a new data table structure
    DataAdapter.Fill(DataTable) ' Fill the data table structure from the information in the database.

    For Each row As DataRow In DataTable.Rows
        MessageBox.Show(DateDiff(DateInterval.Day, row.Item("fDateAdded"), Now))
    Next row

    Con.Close()

2 个答案:

答案 0 :(得分:1)

我认为你需要将你的日期作为日期......

MessageBox.Show(DateDiff(DateInterval.Day, CDate(row.Item("fDateAdded")), Now)

此外,我还没有尝试过,但是请继续使用DateInterval.WeekOfYear,这可能会在几周内给你带来差异,但这可能是最多6天的任何事情。需要一些测试才能看到结果。

答案 1 :(得分:0)

您应该可以使用“w”或dateinterval.weekday

MessageBox.Show(DateDiff(DateInterval.weekDay, CDate(row.Item("fDateAdded")), Now)

或者

MessageBox.Show(DateDiff("w", CDate(row.Item("fDateAdded")), Now)

http://msdn.microsoft.com/en-us/library/b5xbyt6f(v=vs.90).aspx