2013-04-09 76 views
1

我的代碼是:字符串未被識別爲有效的DateTime

protected void Page_Load(object sender, EventArgs e) 
    { 
     string myDate = Request.QueryString["period"]; 
     if (!String.IsNullOrEmpty(myDate)) 
     { 
      myDate = myDate.Replace("!", ":"); 
     } 
     DateTime dt1 = Convert.ToDateTime(myDate); 
     DateTime dt2 = DateTime.Now; 
     TimeSpan variable = dt2 - dt1; 
     if (variable.TotalMinutes > 5) 
     { 
      Response.Write("Download time is expired now"); 
     } 
     else 
     { 
      Response.Redirect("Default.aspx", false); 
     } 



    } 

和我收到錯誤,如:

字符串未被識別爲有效的DateTime。

+0

你提供你的字符串嗎? – 2013-04-09 06:04:15

+0

'myDate'的價值是什麼? – 2013-04-09 06:04:17

+0

myDate的值是test.aspx?period = 09/04/2013 10:41:45 AM' – 2013-04-09 06:05:44

回答

0

使用DateTime.ParseExact

,因爲你已經在此日期格式類似於09/04/2013 10:41:45 AM

DateTime dt1 = DateTime.ParseExact(myDate, "MM/dd/yyyy hh:mm:ss tt", 
              CultureInfo.InvariantCulture) 

如果09是天,換着花樣爲dd/MM/yyyy hh:mm:ss tt

有關日期和時間格式的更多信息字符串,

+0

yaa謝謝你用willl先做.....然後我會檢查 – 2013-04-09 06:13:07

+0

只是問你是否有進一步的澄清。 – 2013-04-09 06:13:52

+0

@purvangpandya我建議你先檢查然後再做,反之亦然。 – 2013-04-09 06:17:19

2

嘗試用DateTime.ParseExact()方法;

使用指定的格式和區域性特定 格式信息當量的日期和時間其 日期時間的指定字符串表示形式轉換。 字符串表示的格式必須完全匹配 指定的格式。

DateTime date = DateTime.ParseExact(myDate, "dd/MM/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture); 

這裏是一個DEMO

你可以查看更多自定義日期格式Custom Date and Time Format Strings

相關問題