首页 > 解决方案 > 如何根据asp.net中的第一个文本框日期在第二个文本框中设置日期

问题描述

我正在开发一个 asp.net 应用程序,其中我有两个文本框用于选择两个日期作为 Fromdate 和 EndDate。我还有两个用于格式为 dd/MM/yyyy 的文本框的日历扩展器。如果我使用日历扩展器在第一个文本框“txtFromDate”中选择任何日期,那么它将计算出如果它比今天的日期小至少 7 天,那么第二个文本框将自动设置为第一个文本框日期之后的 7 天。如果今天日期和第一个文本框日期之间的差异小于 7,那么第二个文本框应该在第二个文本框中显示今天日期。为此,我在第一个文本框 textchanged 事件上使用了以下代码

DateTime dt1, dt2, dt3;

dt1 = Convert.ToDateTime(txtStartDate.Text);
dt2 = Convert.ToDateTime(DateTime.Today);
dt3 = dt1.AddDays(7);
TimeSpan s = dt2 - dt1;
int x = (int)s.TotalHours;
x = x / 24;
if (x >= 7)
{
    txtEndDate.Text = dt3.ToShortDateString();
}
else
{
    txtEndDate.Text = dt2.ToShortDateString();
}

在这里,如果我选择 22/05/2018 那么第二个文本框应该显示 29/05/2018 但它显示的是 29-May-18。如何解决?

标签: c#asp.net

解决方案


明确说明您的格式,而不是使用 ToShortDateString()。请改用以下内容:

.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture);

推荐阅读