【问题标题】:Setting Date format yyyyMMdd through specify Culture Name通过指定文化名称设置日期格式 yyyyMMdd
【发布时间】:2009-05-18 07:06:24
【问题描述】:

我想使用文化名称设置用户日期格式 yyyyMMdd。必须指定哪个文化名称才能完成此操作?

【问题讨论】:

    标签: c# asp.net date format culture


    【解决方案1】:

    您可以使用 CultureAndRegionInfoBuilder 类(在程序集 sysglobl 中)创建自己的文化。但这可能对您的需要有点过分......

    另一个更简单的解决方案:根据当前文化创建一个 CultureInfo 的新实例,并为其分配一个自定义 DateTimeFormatInfo :

    DateTimeFormatInfo dtfi = new DateTimeFormatInfo();
    dtfi.ShortDateTimePattern = "yyyyMMdd";
    CultureInfo ci = new CultureInfo(CultureInfo.CurrentCulture.Name);
    ci.DateTimeFormat = dtfi;
    

    【讨论】:

      【解决方案2】:

      为什么不使用格式说明符?

      string s = DateTime.Today.ToString("yyyyMMdd");
      

      我不知道有任何使用此说明符的预卷文化。您或许可以推出自己的文化?

      【讨论】:

      • 如果我设置了文化名称,不需要处理 MaskedEditExtender 和 CalendarExtender 也不需要其他处理
      • @Muhammad:通过设置文化你也会影响其他的东西,比如数字格式(千位分隔符、小数字符)、货币符号等等。
      • 这里的问题是,MaskedEditExtender 只在我们设置文化属性时验证,而不是只设置日期格式。
      【解决方案3】:

      这个link 可能会帮助您理解数字和日期时间格式以及特定于文化的格式覆盖。它基本上通过修改msdn code examples来演示它:

      【讨论】:

        猜你喜欢
        • 2017-05-12
        • 1970-01-01
        • 2018-10-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-19
        相关资源
        最近更新 更多