我正在运行一个包含DateTime.Now.ToString((的.NET Core应用程序。在我的电脑上,它显示欧洲日期格式 (dd/mm/yy(,但在位于美国的 Linux VM 上运行时,它显示美国日期格式 (mm/dd/yy(,尽管 VM 上的时区是 GMT。
如何使其仅显示欧洲日期格式?
我知道我可以在程序内手动格式化它,但是有没有办法在 Linux 系统上全局执行此操作?
若要为所有应用程序线程设置区域性,可以使用CultureInfo.DefaultThreadCurrentCulture
属性,如下所示
if (Thread.CurrentThread.CurrentCulture.Name == "en-US")
{
culture = CultureInfo.CreateSpecificCulture("...");
CultureInfo.DefaultThreadCurrentCulture = culture;
CultureInfo.DefaultThreadCurrentUICulture = culture;
}
您正在检查当前区域性是否已en-US
,并将默认区域性更新为任何欧盟特定区域性,例如de-DE
或fr-FR
。您还可以参考 MSDN 了解详细信息
您可以使用以下代码:
DateTime.Now.ToString("dd/MM/yy")
它应该有效。
更多信息: https://www.c-sharpcorner.com/blogs/date-and-time-format-in-c-sharp-programming1