gpt4 book ai didi

.net - 文化 es-DO 的默认 DateTimeFormat.ShortDatePattern 不正确

转载 作者:行者123 更新时间:2023-12-01 13:31:01 25 4
gpt4 key购买 nike

我住在多米尼加共和国,多年来一直在使用 .NET Framework 开发应用程序。通常,我会为这种特定文化创建本地化应用程序 (es-DO),使用内置的 .NET 全局化机制对我很有帮助。对于 Web 应用程序,我通常在 Web.Config 中定义全局文化:

<globalization culture="es-DO" uiCulture="es-DO" />

但在 DateTimeFormatShortDatePattern 中存在一个问题,这种文化让我和其他开发人员感到困惑。由于未知原因,默认的 ShortDatePattern 格式是 d/M/yy 而实际上这个国家/地区使用的常规范式是 dd/MM/yyyydd-MM-yyyy 与大多数其他讲西类牙语的国家(顺便说一句,配置正确)一样。

我创建了一个小型控制台应用程序来更好地说明:

Spanish-speaking cultures ShortDatePattern

我已经在多台 PC 上确认了相同的行为,甚至将我的 Web 应用程序发布到 Windows Azure 等托管服务提供商。

我一直在寻找关于这个主题的信息,但它似乎是一个关于这种特定(我可能会补充说不太流行)文化的非常本地化的问题,因此很难找到任何文档。

基本上,我有两个问题:

  • 他们怎么知道正确的文化格式?他们做了什么研究?这是否记录在我可以查看的地方?并且,
  • 是否可以解决这个问题而不必在我的应用程序中的任何地方指定所需的格式?

编辑

这已被报告为 Microsoft Connect 中的错误和 Visual Studio Forums .

最佳答案

How do they know the correct culture format? They did any kind of study? Is this documented somewhere that I can look at?

Is it possible to fix this issue without having to specify the desired format everywhere in my application/s?

  • 当然,只需更改当前线程的文化:

    var currentCulture = Thread.CurrentThread.CurrentCulture;
    if (currentCulture.Name == "es-DO")
    {
    var culture = (CultureInfo) currentCulture.Clone();
    culture.DateTimeFormat.ShortDatePattern = "dd/MM/yyyy";
    Thread.CurrentThread.CurrentCulture = culture;
    }
  • 在网络应用程序中,您可以在 Application_BeginRequest 中执行此操作您的 global.asax.cs 文件,它将贯穿您的整个应用程序。

关于.net - 文化 es-DO 的默认 DateTimeFormat.ShortDatePattern 不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18749374/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com