2012-04-27 68 views
0

我已經將DateOfBirth屬性聲明爲字符串,並在將它傳遞給數據庫之前將其解析爲DateTime,因爲DateOfBirth列在DateTime格式中。DateTime轉換 - 服務器

在我的本地系統中,轉換工作正常,但在將應用程序託管到服務器之後,DateTime轉換顯示錯誤,如「字符串未被識別爲有效的DateTime」。

我試着

<system.web> 
    <globalization culture="en-gb"/> 
    <!-- ... --> 
</system.web> 

DateTime.Parse(DateOfBirth, new CultureInfo("en-GB")) 

沒有用的,什麼這個問題上,任何人都可以幫助我在這裏...

+0

我們可以看到你正在傳遞的日期沒有被轉換嗎? – therealmitchconnors 2012-04-27 19:26:39

+0

DateTime.parse(「04/13/1988」,new CultureInfo(「en-GB」)) – shanish 2012-04-27 19:38:20

+0

您也可以使用ParseExact或TryParseExact函數。 – 2012-04-27 20:15:45

回答

2

我有相同的概率,我在web.config文件改變了文化信息爲:

<globalization culture="en-gb" uiCulture="auto"/> 

OR

嘗試解析你的字符串日期:

DateTime dob = DateTime.ParseExact(DateOfBirth, "dd/MM/yyyy", 
CultureInfo.InvariantCulture); 

希望它有助於... :)

+0

它showi ng錯誤,如「該日期時間表示的字符串不支持日曆System.Globalization.GregorianCalendar」......我通過日期「04/13/1988」 – shanish 2012-04-28 05:05:19

+0

我試着改變你的格式,如「MM/dd/yyyy「...它的工作很好,謝謝你很多 – shanish 2012-04-28 05:12:56

+1

@Shanish我很高興我可以幫你...... :) – Sas 2012-04-28 05:19:03

2

你需要將其轉換,東西如:

var sqlDate = myDateTime.ToString("yyyy-MM-dd HH:mm:ss"); 
+0

感謝您的回覆,我會嘗試 – shanish 2012-04-27 19:25:06

+0

我認爲他正在嘗試從字符串到日期,並且您將從日期到字符串。 – therealmitchconnors 2012-04-27 19:27:05

+0

@therealmitchconnors如果他將它傳遞給SQL,它將需要以該格式的字符串:) – mattytommo 2012-04-27 19:33:21

4

我的猜測是,根據文化,你傳遞了一個無效的日期。一般來說,英國的日期是先寫日期,再寫月份。你在1988年4月13日通過,分析到13個月的第4天。什麼月份是13?我不知道,.Net運行時也沒有。

+0

只使用英國格式,13是日期 – shanish 2012-04-28 04:51:27

相關問題