簡體   English   中英

C#Asp.net Convert.toDateTime(datevalue)給出了錯誤,不同的CultureInfo需要datepattern看起來像5/1/2012 12:00:00 AM

[英]C# Asp.net Convert.toDateTime(datevalue) gives error with different cultureinfo need datepattern look like 5/1/2012 12:00:00 AM

在我的Asp.net網站上,我有兩個應用了JQquery Datepicker的 文本框 (txtstartdate,txtenddate),彈出以格式(“ 05/24/2012 ”)給出日期。 當我更改為(“ de ”)(即德語)時,它對cultureInfo(“ en-US ”)的工作正常,它給出了錯誤“ System.FormatException:字符串未被識別為有效的DateTime”。 在文件后面的代碼中,我正在編寫此代碼

 string sDate = txtstartdate.Text;  //  05/01/2012 (debugging gives this values)
 string eDate = txtenddate.Text;    //   05/24/2012 (debugging gives this values)

 DateTime startdate = Convert.ToDateTime(sDate); //  5/1/2012 12:00:00 AM
 DateTime enddate = Convert.ToDateTime(eDate);   //  5/24/2012 12:00:00 AM

我的要求是datetime變量必須提供格式為5/1/2012 12:00:00 AM的日期,無論cultureinfo設置與date無關緊要,以便我可以在具有列數據類型為Datetime的數據的MsSql Server現有表中執行選擇查詢 (5/1/2012 12:00:00 AM)formart

更改CultureInfo (從“母版頁”下拉列表中)后, Englsih變為德語給出了錯誤嘗試了此方法但不起作用

 DateTime startdate = DateTime.ParseExact(sDate, "M/d/yyyy", null); 
 //tried also "MM/dd/yyyy"

注意:設置任何cultileinfo,但日期時間模式始終為2012年5月1日上午12:00:00,即en-US文化

您可以在調用ParseExact時嘗試使用"MM/dd/yyyy"作為格式字符串,假設您確定輸入將始終采用該格式。

或者,嘗試改用Convert.ToDateTime(yourString, CultureInfo.InvariantCulture)

我認為在這種情況下,您必須將日歷的altFormat設置為SQL Server使用的格式。 然后,您可以使用隱藏字段存儲每個日期選擇器的altDate。 提交時, 將以正確的格式將altField的值發送到您的服務器,而不是顯示給用戶的特定於區域性的值。

暫無
暫無

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

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