asp.net - 在 ASP.NET web.config 全局化标记中设置日期格式?

标签 asp.net date globalization

在我们的 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/

相关文章:

c# - 图形.DrawImage : Out of memory exception

asp.net - ReportViewer 2010 未从代码加载数据源

c# - 'Newtonsoft.Json.. .' exists in both ' Blend\Newtonsoft.Json.dll' 和 'Solution\packages\...\

java - 不允许用户通过更改系统日期来更新回溯日期的表

php - 使用这些表的房间阻塞

c# - 在 EntityDataSource 中使用参数化的 LIKE 子句

java - 将字符串转换为 ISO 8601 日期时间格式的 Java 日期

java - Android 在应用程序中更改和设置默认语言环境

c# - 如何启动具有不同文化的新的非托管流程?

asp.net-mvc - DateTime 和 ASP.NET MVC 3 模型绑定(bind)的全局化问题