簡體   English   中英

在C#asp.net中,字符串未被識別為有效的DateTime

[英]String was not recognized as a valid DateTime in C# asp.net

我想從Excel單元格導入日期值。 具有“ 2013年10月10日”格式的單元格值。 我想將其轉換為日期時間數據類型。 我的代碼獲取錯誤“字符串未被識別為有效的日期時間”

//碼

      OleDbCommand olecmd = new OleDbCommand("select * from [Sheet1$]", olecon);


               OleDbDataReader olerdr = olecmd.ExecuteReader();
                 while (olerdr.Read())
                 {
                    deldate = olerdr.GetValue(13).ToString();
                     using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["irisdb"].ConnectionString))
                     {
                         con.Open();
                         SqlCommand cmd = new SqlCommand("procdamandrugs", con);
                         cmd.CommandType = CommandType.StoredProcedure;
     DateTime dt = DateTime.ParseExact(deldate, "MM/dd/yyyy", CultureInfo.InvariantCulture);//getting error in this line
                         SqlParameter par9 = new SqlParameter();
                         par9.ParameterName = "@deleffdate";
                         par9.SqlDbType = SqlDbType.DateTime;
                         par9.Value = dt;
                         cmd.Parameters.Add(par9);
 cmd.ExecuteNonQuery();
    }
    }

有人幫我解決這個問題。

具有“ 2013年10月10日”格式的單元格值。

您在ParseExact中輸入的格式錯誤,與您傳遞的日期字符串不匹配。 您需要的格式與您給的格式不同。 對於一天,您需要dd ,對於月份,您需要MMMM ,對於年份,您需要yyyy並且必須給定空格作為分隔符。

值得使用MSDN上的“ 自定義日期和時間格式字符串”一文 ,以使用字符串格式進行日期轉換。

DateTime dt = DateTime.ParseExact(deldate, "dd MMMM yyyy", CultureInfo.InvariantCulture);

我建議在構造SQL對象之前利用DateTime.TryParse方法。 與數據庫進行對話之前,請確保您輸入的質量較高。

http://msdn.microsoft.com/zh-CN/library/ch92fbc1%28v=vs.110%29.aspx

下面是我自己的asp.net應用程序代碼示例

    // Validation
    DateTime dtOut_StartDate;
    if (!DateTime.TryParse(txtStartDate.Text, out dtOut_StartDate))
    {
        Message = "Start date is not a valid format.";
        txtStartDate.CssClass = ErrorCssClass.TextBox;
        txtStartDate.Focus();
        return false;
    }

從右下方選擇日期時間設置,然后從此處更改格式...

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM