SQL Server文化信息

时间:2011-12-14 04:19:35

标签: sql-server

我的应用程序与SQL Server一起使用,它适用于具有不同文化信息的不同服务器(例如Ru-Ru,En-US等)...如何向其插入数据值?我需要将我的DateTime转换为字符串取决于服务器的文化,但是如何?

1 个答案:

答案 0 :(得分: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:< / p>

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

希望这有帮助。