我有三个名为borrower_date_txt
,period_txt
和ret_date_txt
的文本框。
现在,我想对这些文本框进行计算。我想在borrower_date_txt
(不仅是今天的日期)输入日期,在period_txt
我输入一个例如5的句号。在ret_date_txt
我要显示{} p>
borrower_date_txt + 5
即告诉我borrower_date_txt
中ret_date_txt
日期值的5天后的日期?
答案 0 :(得分:1)
基本上,您可以使用DateTime.AddDays
方法来增加DateTime:
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
}
答案 1 :(得分:1)
DateTime borrowerDate;
if (DateTime.TryParse(borrower_date_txt.Text, out borrowerDate))
{
int days;
if (int.TryParse(period_txt.Text, out days))
{
var retDate = borrowerDate.AddDays(days);
ret_date_txt.Text = retDate.ToShortDateString();
}
}
上述代码的重要部分如下:
DateTime.TryParse(...)
:如果文字不是有效日期,则会返回false
;否则会将DateTime
值分配给borrowerDate
。这是一种保护代码的方法。解析日期可能会变得更加复杂,但我认为这可能是由于你的情况。int.TryParse(...)
:如果文本不是有效整数,则返回false
;否则会将int
值分配给days
。这是一种保护代码的方法。borrowerDate.AddDays(days)
:这实际上会将输入的日期添加到输入的日期。ret_date_txt.Text = retDate.ToShortDateString()
:这会在ret_date_txt
文本框中显示结果,并将其格式化为短日期(即没有时间)。答案 2 :(得分:0)
首先,您需要将文本框值解析为正确的日期时间对象:
DateTime Date1= DateTime.ParseExact(TextBox1.Text, "dd/MM/yyyy", System.Globalization.CultureInfo.InvariantCulture)
然后,您可以在Date1上执行所有相关的DateTime操作。