我正在开发一个asp.net应用程序,其中有两个文本框可供选择,两个日期分别为Fromdate和EndDate。我也有两个日历扩展器的两个文本框,其格式为dd/MM/yyyy。如果我使用日历延长器选择第一个文本框"txtFromDate“中的任何日期,那么它将计算出如果它小于今天的日期最少7天,那么第二个文本框将自动设置为第一个文本框日期后的7天。如果今天日期与第一个文本框日期之间的差值小于7,则第二个文本框应在第二个文本框中显示今天日期。为此,我在第一个textbox 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-5-18。如何解决?
发布于 2018-05-31 19:11:22
显式声明您的格式,而不是使用ToShortDateString()。请改用以下内容:
.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture);
发布于 2018-05-31 21:32:08
尝试此代码:
String.Format("{0:MM/dd/yyyy}", YourDate);
https://stackoverflow.com/questions/50622800
复制相似问题