0

我有两个文本框: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());
}
4

3 回答 3

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();

我在这里假设两个文本框中都输入了有效日期,否则您将在上面的第一行中遇到异常。您也可以查看该类提供的ParseExactorTryParse/TryParseExact方法DateTime

于 2013-09-30T07:14:17.037 回答
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();
于 2013-09-30T07:30:59.490 回答
0

像这样试试

DateTime d1 = Convert.ToDateTime(TextBox1.Text);
DateTime d2 = Convert.ToDateTime(TextBox2.Text);
TimeSpan span = d2-d1;
TextBox3.Text = span.TotalDays.ToString();
于 2013-09-30T07:18:26.687 回答