获取当前日期与列中包含的日期之间的天数,小时数和分钟数的差异?

时间:2013-02-19 11:13:26

标签: c# mysql .net

我有一个带有datagridview的应用程序,我直接从数据库绑定信息,我有一个名为deadline的DateTime类型的列,此列保存截止日期。

在我的C#应用​​程序中,我正在迭代datagridview中的所有行并获取包含截止日期的特定列,然后我更新它,如:

public void reformatDates() {
        string endDate = null;
        foreach (DataGridViewRow rw in dataGridView1.Rows)
        {
            endDate = rw.Cells[5].Value.ToString();
            rw.Cells[5].Value = getCountDown(endDate);
        }
    }

函数getCountDown(DateTime endDate)以天数,小时和分钟的形式将倒计时作为字符串。

一切都按预期工作,但是我正在迭代所有行。如果我有大量行说5000行怎么办?我是否需要遍历所有这些并更新每个单元格?

我用来绑定数据库中的信息的函数是Bind(string sqlquery),我现在正在调用它:

      Bind("SELECT statut,title,deadline FROM taches WHERE 1");

有什么方法可以直接从数据库中获取倒计时(天,小时和分钟)我的意思是这样的           

伪码:

      Bind("SELECT statut,title,(DateNow-deadline) FROM taches WHERE 1");

任何帮助都将受到高度赞赏。谢谢你

1 个答案:

答案 0 :(得分:0)

如果我理解正确,这就是你想要的:

Bind("SELECT statut,title,TimeDiff(sysdate(),deadline) FROM taches WHERE 1");

完整参考:https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_sysdate