找出存储在day,month,dd,yyyy中的2个日期之间的差异

时间:2011-09-06 14:40:19

标签: c#

我使用了DATEDIFF函数,但是因为它需要yyyy / mm / dd这个代码给出了错误的值,因为我已经在日期时间选择器中存储了日期,月份,dd,yyyy

    private void button3_Click(object sender, EventArgs e)
    {
        DataSet ds = new DataSet();
DataSet ds1 = new DataSet();
DataSet ds2 = new DataSet();
DBHandling db = new DBHandling();

db.GetDataset(" select JoiningDate from Emp where name = '" + textBox2.Text + "'", ref ds);
db.GetDataset(" select LeavingDate from AddDate where name = '" + textBox2.Text + "'", ref ds1);

string date1, date2;
date1 = ds.Tables[0].Rows[0][0].ToString();
date2 = ds1.Tables[0].Rows[0][0].ToString();
db.GetDataset("select DATEDIFF(day,2008/1/15,2008/1/12) ", ref ds2);
textBox5.Text = ds2.Tables[0].Rows[0][0].ToString();
    }

所以我该如何做到这一点,我将向右转两个日期之间的差异,即两个日期之间的天数,提前感谢

2 个答案:

答案 0 :(得分:1)

我建议查找Timespan

获取两个日期,然后使用时间跨度从另一个中减去一个。然后,timepan对象可以告诉你有多少秒,天,小时等......差异是多少。

如果日期采用两种不同的格式,则将它们转换为相同的格式。您可以使用CAST或CONVERT或使用C#在SQL中执行此操作。

这是一个很好的link on formatting dates.

此外,您的SQL对SQL注入攻击持开放态度。您应该至少使用参数化查询。

答案 1 :(得分:1)

您可以使用Time Period Library for .NET DateDiff 工具。