0

我有一个很好的函数设置,用于按照 前导零日期格式 C#格式化日期

但事实证明,在我们的农场中,我们有一些刀片在英国地区运行,一些在美国地区运行,因此取决于它崩溃的情况。

那么我所追求的是如何测试当前的服务器语言环境?

就像是...

if(Thread.CurrentThread.CurrentCulture.TwoLetterISOLanguageName == "GB"){
...

}
else
{

..otherstatement
}

4

4 回答 4

4
Date now = DateTime.Now;
CultureInfo ci = Thread.CurrentThread.CurrentCulture;
Console.WriteLine(now.ToString("d", ci));
于 2009-06-15T12:04:42.847 回答
2

您应该将所需的文化传递给所有格式化函数(通常是 InvariantCulture)。

或者,您可以像这样在页面上设置文化。该代码也可以进入 asax.cs 文件中的 Application BeginRequest 覆盖,以影响所有页面。

于 2009-06-15T12:04:19.387 回答
1

通常我们使用 UTC而不是特定于语言环境的代码。

于 2009-06-15T12:01:54.837 回答
1

据我所知,测试 CurrentCulture 是实现您所要求的唯一方法。但是,我强烈建议将日期保留为 DateTime,直到它们出现在用户界面中,并且在依赖于日期格式的服务器功能中没有 if 语句。

我通常会尝试在尽可能靠近用户的地方应用日期格式。

于 2009-06-15T12:03:44.190 回答