在我们的 web.config 中,我使用以下标签来确定 ASP.NET 网站的界面语言。
<globalization
enableClientBasedCulture="true"
culture="auto:en-GB"
uiCulture="auto:en"/>
这按预期工作:客户请求特定的本地化获取它,其他人都高兴地查看 en-GB 设置。
由于公司政策,我需要为每个人将日期格式更改为 ISO 8601 标准格式 (YYYY-MM-DD)。这可能在 web.config 的中心位置还是我需要在每个实例中手动更改?
添加:将界面限制为英语时是否可以获取此日期格式?
最佳答案
您应该build使用 CultureAndRegionInfoBuilder 您自己的文化
class Program
{
static void Main(string[] args)
{
CultureInfo ci;
CultureAndRegionInfoBuilder cib = null;
try
{
// Create a CultureAndRegionInfoBuilder object named "x-en-GB".
Console.WriteLine("Create and explore the CultureAndRegionInfoBuilder...\n");
cib = new CultureAndRegionInfoBuilder(
"x-en-GB", CultureAndRegionModifiers.None);
// Populate the new CultureAndRegionInfoBuilder object with culture information.
ci = new CultureInfo("en-GB");
ci.DateTimeFormat.ShortDatePattern = "yyyy-MM-dd";
//ci.DateTimeFormat.FullDateTimePattern = "yyyy-MM-dd";
//ci.DateTimeFormat.LongDatePattern = "yyyy-MM-dd";
//...
//...
cib.LoadDataFromCultureInfo(ci);
// Populate the new CultureAndRegionInfoBuilder object with region information.
RegionInfo ri = new RegionInfo("GB");
cib.LoadDataFromRegionInfo(ri);
Console.WriteLine("Register the custom culture...");
cib.Register();
}
catch (Exception e)
{
Console.WriteLine(e);
}
Console.WriteLine("Create and explore the custom culture...\n");
ci = new CultureInfo("x-en-GB");
//Thread.CurrentThread.CurrentCulture = ci;
//Thread.CurrentThread.CurrentUICulture = ci;
Console.WriteLine(DateTime.Now.ToString(ci));
Console.ReadLine();
}
}
关于asp.net - 在 ASP.NET web.config 全局化标记中设置日期格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2468312/