2013-04-24 23 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