2011-12-14 56 views
2

我的應用程序與SQL Server一起工作,它可以與具有不同文化信息的不同服務器(例如Ru-Ru,En-US等)一起工作......我如何向它插入數據值?我需要將我的日期時間轉換爲字符串取決於服務器的文化,但如何?SQL Server的文化信息

+2

日期時間使用'YYYYMMDD'格式或'YYYYMMDD HH:MM:SS'。它不依賴於服務器文化。 – 2011-12-14 04:37:29

回答

3

對於culture Specific conversion你可以使用:

String s = "14.12.2011"; 

d = DateTime.Parse(s, CultureInfo.CreateSpecificCulture("Ru-Ru")); //Russia 
d = DateTime.Parse(s, CultureInfo.CreateSpecificCulture("en-US")); //English United States 

但如果你真的不能決定日期轉換爲字符串,反之亦然時使用何種文化,以及日期都從未想過要顯示的用戶,那麼您可以使用Invariant Culture

String s = "14/12/2011" //invariant culture formatted date 

d = DateTime.Parse(s, CultureInfo.InvariantCulture); //parse invariant culture date 

s = d.ToString(CultureInfo.InvariantCulture); //convert to invariant culture string 

如果要轉換日期,並將其保存爲字符串,你可以使用ISO-8601 date formatYYYYMMDDYYYYMMDD HH:MM:SS,這將總是工作,無論當前在SQL Server中選擇哪種語言或文化設置。

以下Stackoverflow問題可以幫助你:

參考:DateTime issue when global culture of the server is different on different servers

希望這有助於。

+1

好的,謝謝,我會嘗試使用InvariantCulture並在明天在這裏發佈結果 – 2011-12-14 04:39:42