2013-04-24 61 views
1

我有两个文本框(txtdateofissue和txtdateofexpiry)。第一个文本框是附加一个CalendarExtender控件。 我想,如果用户选择txtdateofissue文本框的日期,然后自动相同的日期,但明年应该输入到txtdateofexpiry文本框。 日期应采用dd-MM-yyyy格式,即24-04-2013。 我已经写了代码,这一点,但我得到一个错误(字符串不是有效的日期时间格式)iis中的日期时间格式问题Asp.net

我的代码:

protected void txtdateofIssue_TextChanged(object sender, EventArgs e) 
     { 
      DateTime dt = Convert.ToDateTime(txtdateofIssue.Text); 
      dt = dt.AddDays(-1).AddYears(1); 
      txtdateofExpiry.Text = dt.ToShortDateString(); 
     } 

在我宣布第一行的日期时间变量DT抛出了错误(字符串不是有效的日期时间格式)

当我在我的本地机器上运行此代码它工作正常,但如果我在iis上运行它,然后它显示错误...请纠正我的代码或引导我在新途径...提前致谢...

回答

3

您可以使用DateTime.TryParseExact方法

DateTime dt; 
if (DateTime.TryParseExact(txtdateofIssue.Text, "dd-MM-yyyy", 
          CultureInfo.InvariantCulture, 
          DateTimeStyles.None, 
          out dt)) 
{ 
    dt = dt.AddDays(-1).AddYears(1); 
    txtdateofExpiry.Text = dt.ToString("dd-MM-yyyy"); 
} 

要转换日期时间回溯到给定的格式

看的文档进行custom date and time format strings获取更多信息。

+0

谢谢...但txtdateofExpiry文本框在4/24/2014获取日期...我希望它显示为24-04-2014 – Robin 2013-04-24 04:59:55

+0

@Robin尝试使用'dt.ToString(“dd-MM -yyyy“);' – Damith 2013-04-24 05:21:12

+0

:)谢谢你,你对我很有帮助......并且你教会了我一件新事物...... – Robin 2013-04-24 05:28:02