【问题标题】:Make DateTime.Now Display European Format Globally on Linux使 DateTime.Now 在 Linux 上全局显示欧洲格式
【发布时间】:2019-12-26 09:47:22
【问题描述】:

我正在运行一个包含 DateTime.Now.ToString() 的 .NET Core 应用程序。在我的 PC 上显示欧洲日期格式 (dd/mm/yy) 但在位于美国的 Linux VM 上运行时显示美国日期格式 (mm/dd/yy),尽管 VM 上的时区是 GMT。

如何让它只显示欧洲日期格式?

我知道我可以在程序中手动格式化,但有没有办法在 Linux 系统上全局执行此操作?

【问题讨论】:

    标签: c# linux .net-core


    【解决方案1】:

    要为所有应用程序线程设置文化,您可以使用CultureInfo.DefaultThreadCurrentCulture 属性,就像这样

    if (Thread.CurrentThread.CurrentCulture.Name == "en-US")
    {
          culture = CultureInfo.CreateSpecificCulture("...");
    
          CultureInfo.DefaultThreadCurrentCulture = culture;
          CultureInfo.DefaultThreadCurrentUICulture = culture;
    }
    

    您正在检查当前文化是否为en-US,并将默认文化更新为任何欧盟特定文化,例如de-DEfr-FR。也可以参考MSDN了解详情

    【讨论】:

    • 不完全是我要找的东西,但肯定可以。谢谢!
    【解决方案2】:

    您可以使用以下代码:

    DateTime.Now.ToString("dd/MM/yy")
    

    它应该工作。

    欲了解更多信息:https://www.c-sharpcorner.com/blogs/date-and-time-format-in-c-sharp-programming1

    【讨论】:

      猜你喜欢
      • 2021-12-23
      • 1970-01-01
      • 2018-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-26
      • 1970-01-01
      相关资源
      最近更新 更多