C# 是否计算具有日期值的文本框?

C# 是否计算具有日期值的文本框?,c#,winforms,C#,Winforms,我有三个文本框,分别名为借贷者日期文本,期间文本和归还日期文本 现在,我想对这些文本框进行计算。我想将日期输入到借款人日期文本中(不仅仅是今天的日期),并在期间文本中输入一个期间,例如5。在ret_date_txt中,我想显示 borrower_date_txt + 5 i、 e请在ret\u date\u txt日期值中的借款人日期\u txt日期值的5天后给我日期 基本上,您可以使用DateTime.AddDays方法来增加日期时间: try { DateTime date = Da

我有三个文本框,分别名为
借贷者日期文本
期间文本
归还日期文本

现在,我想对这些文本框进行计算。我想将日期输入到
借款人日期文本中(不仅仅是今天的日期),并在
期间文本中输入一个期间,例如5。在
ret_date_txt
中,我想显示

borrower_date_txt + 5

i、 e请在
ret\u date\u txt
日期值中的
借款人日期\u txt
日期值的5天后给我日期

基本上,您可以使用
DateTime.AddDays
方法来增加日期时间:

try
{
   DateTime date = DateTime.Parse(borrower_date_txt.Text);
   int period = Int32.Parse(period_txt.Text);
   ret_date_txt.Text = date.AddDays(period).ToShortDateString();
}
catch(Exception ex)
{
   //Handle parsing errors maybe
}
上述守则的重要部分如下:

  • DateTime.TryParse(…)
    :如果文本不是有效日期,则返回
    false
    ;否则,它会将
    DateTime
    值分配给
    borrowerDate
    。这是一种保护代码安全的方法。解析日期可能很快变得复杂得多,但我认为这可能是由于您的情况
  • int.TryParse(…)
    :如果文本不是有效整数,则返回
    false
    ;否则,它将把
    int
    值分配给
    天数
    。这是一种保护代码安全的方法
  • borrowerDate.AddDays(天)
    :这实际上是将输入的天添加到输入的日期中
  • ret\u date\u txt.Text=retDate.toSortDateString()
    :这将在
    ret\u date\u txt
    文本框中显示结果,并将其格式化为短日期(即不含时间)

首先,您需要将文本框值解析为正确的日期时间对象:

      DateTime Date1= DateTime.ParseExact(TextBox1.Text, "dd/MM/yyyy",   System.Globalization.CultureInfo.InvariantCulture)

然后可以在Date1上执行所有相关的DateTime操作

使用DateTime.Parse/DateTime.ParseExact等将每个
TextBox.Text
解析为
DateTime
类型对象。然后使用DateTime.AddDays(5)获取新的DateTime对象。应该没那么难。我怎么用这个。。。请给我更多的细节。。。更多代码我不建议使用Try/Catch,使用TryParse会更快。Fast是一个问题,这个代码应该运行多少次?想想看,这是一个用户的点击,不是一个循环或者类似的东西。谢谢你,迈克尔·佩雷诺德,你的回答很有帮助。。。但是我知道我在借用日期文本中有问题,我使用(dd/M/yyyy)格式的日期,在归还日期文本中,它添加了月份而不是日期的期间?
      DateTime Date1= DateTime.ParseExact(TextBox1.Text, "dd/MM/yyyy",   System.Globalization.CultureInfo.InvariantCulture)