我有两个文本框:TextBox1和TextBox2都有日期。
我想在第三个文本框中获取日期差异,即TextBox3。
我的代码是:
protected void TextBox1_TextChanged(object sender, EventArgs e)
{
TextBox3.Text = ((Convert.ToInt32(TextBox1.Text) - Convert.ToInt32(TextBox2.Text)).ToString());
}
protected void TextBox2_TextChanged(object sender, EventArgs e)
{
TextBox3.Text = ((Convert.ToInt32(TextBox1.Text) - Convert.ToInt32(TextBox2.Text)).ToString());
}
答案 0 :(得分:3)
将两个输入值转换为DateTime
,如
DateTime dt1 = DateTime.Parse(TextBox1.Text);
DateTime dt2 = DateTime.Parse(TextBox2.Text);
然后,减去两者以获得TimeSpan
对象:
TimeSpan ts = dt1 - dt2;
然后,您可以使用ts
的属性来设置第三个文本框的值:
TextBox3.Text = ts.TotalDays.ToString();
我在此假设有效日期输入到两个文本框中,否则您将在上面的第一行中获得异常。您也可以查看ParseExact
类提供的TryParse/TryParseExact
或DateTime
方法。
答案 1 :(得分:2)
DateTime d1 = TextBox1.Text!=string.Empty?Convert.ToDateTime(TextBox1.Text): DateTime.MinValue;
DateTime d2 = TextBox2.Text!=string.Empty?Convert.ToDateTime(TextBox2.Text):DateTime.MinValue;
TimeSpan tspan= d2-d1;
TextBox3.Text = tspan.TotalDays.ToString();
答案 2 :(得分:0)
试试这个
DateTime d1 = Convert.ToDateTime(TextBox1.Text);
DateTime d2 = Convert.ToDateTime(TextBox2.Text);
TimeSpan span = d2-d1;
TextBox3.Text = span.TotalDays.ToString();