如何在文本框中获取日期差异

本文关键字:获取 取日期 文本 | 更新日期: 2023-09-27 18:33:14

我有两个文本框:文本框1和文本框2都有日期。

我想在第三个文本框中获取日期差异,即 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());
}

如何在文本框中获取日期差异

将两个输入值都转换为 DateTime ,如

DateTime dt1 = DateTime.Parse(TextBox1.Text);
DateTime dt2 = DateTime.Parse(TextBox2.Text);

然后,将两者减去得到一个TimeSpan对象:

TimeSpan ts = dt1 - dt2;

然后,可以使用 ts 的属性来设置第三个文本框的值:

TextBox3.Text = ts.TotalDays.ToString();

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

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

像这样尝试

DateTime d1 = Convert.ToDateTime(TextBox1.Text);
DateTime d2 = Convert.ToDateTime(TextBox2.Text);
TimeSpan span = d2-d1;
TextBox3.Text = span.TotalDays.ToString();