我正在创建一个网页,因为我使用Ajax日历来选择两个日期,例如TO
日期和From
日期,我也有Textbox
天的总数。
因此,当用户选择to
和from
日期时,这些日期的差异会显示在文本框中。那么我怎样才能找到这些日期的差异..?
我将格式设置为dd/MM/yyyy
。
e.g。
one textbox has: 20/04/2012
second has : 02/05/2012
那么,请找出这些差异吗?
先谢谢.... Mitesh
答案 0 :(得分:8)
Substraction运算符( - )适用于DateTime
DateTime to_datetime = DateTime.ParseExact(to_textbox.Text, "dd/MM/yyyy",
CultureInfo.InvariantCulture);
DateTime from_datetime = DateTime.ParseExact(from_textbox.Text, "dd/MM/yyyy",
CultureInfo.InvariantCulture);
Timespan result = to_datetime - from_datetime;
您可以将其用作
textBox1.Text = (to_datetime - from_datetime).TotalDays.ToString();
答案 1 :(得分:3)
使用以下方法将文本框值转换为日期:
DateTime dt1 = DateTime.ParseExact(textbox1.Text, "d/M/yyyy", CultureInfo.InvariantCulture);
DateTime dt2 = DateTime.ParseExact(textbox2.Text, "d/M/yyyy", CultureInfo.InvariantCulture);
TimeSpan ts = dt1.Subtract(dt2);
Console.Write(ts.TotalDays);
textBox3.Text = ts.TotalDays;
答案 2 :(得分:1)
假设C#代码:DateTime支持“ - ”导致TimeSpan对象。
DateTime nowTime = DateTime.Now;
DateTime yesterday = nowTime.AddDay(-1);
TimeSpan diff = nowTime - yesterday;
答案 3 :(得分:0)
DateTime date1 =DateTime.ParseExact("20/04/2012","d/M/yyyy",null);
DateTime date2 = DateTime.ParseExact("02/05/2012", "d/M/yyyy", null);
TimeSpan datediff = date2 - date1;
Response.Write(datediff.ToString());