让DateTime.Now在Linux上全局显示欧洲格式

0 人关注

我正在运行一个包含DateTime.Now.ToString()的.NET Core应用程序。当在我的电脑上时,它显示欧洲的日期格式(日/月/年),但当在位于美国的Linux虚拟机上运行时,它显示美国的日期格式(月/日/年),尽管虚拟机的时区是GMT。

我怎样才能使它只显示欧洲日期格式?

我知道我可以在程序中手动格式化它,但有没有办法在Linux系统中全局地做这件事?

c#
linux
.net-core
230Daniel
230Daniel
发布于 2019-12-26
2 个回答
Pavel Anikhouski
Pavel Anikhouski
发布于 2019-12-26
已采纳
0 人赞同

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

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

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

这并不是我所寻找的,但这肯定会做。谢谢!
0 人赞同

你可以使用以下代码。

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