Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Linux上的.net核心日期格式_C#_.net_Linux_.net Core - Fatal编程技术网

C# Linux上的.net核心日期格式

C# Linux上的.net核心日期格式,c#,.net,linux,.net-core,C#,.net,Linux,.net Core,我正在将代码从.net framework迁移到.net core,并在Linux机器上进行测试,我遇到的问题之一是调用DateTime ToString()函数时的日期格式,在Windows中,默认日期格式由操作系统引导,可以在设置中进行自定义。我曾尝试在Linux中执行类似的操作,方法是使用所需的格式定义一个新的区域设置文件,并设置适当的变量(LC_Time)。当向系统询问日期时,我得到了想要的格式的答案,但在运行代码时,我仍然得到了“错误”的答案。我遗漏了什么吗?老问题,但我刚刚遇到了这个

我正在将代码从.net framework迁移到.net core,并在Linux机器上进行测试,我遇到的问题之一是调用DateTime ToString()函数时的日期格式,在Windows中,默认日期格式由操作系统引导,可以在设置中进行自定义。我曾尝试在Linux中执行类似的操作,方法是使用所需的格式定义一个新的区域设置文件,并设置适当的变量(LC_Time)。当向系统询问日期时,我得到了想要的格式的答案,但在运行代码时,我仍然得到了“错误”的答案。我遗漏了什么吗?

老问题,但我刚刚遇到了这个问题。这是一个.NETCore2

这是因为en-US(在Linux上)的默认短日期是M/d/yy。确定默认短日期的方法是代码

使用的默认短日期模式是从该枚举返回的第一个模式,它看起来是KShort返回的

但是,它将根据以下内容在.NET Core 3中更改/固定:

我尝试使用dotnet core build pack 2.1.3,但它无法解决格式d的问题(仍为7/6/18),请您帮助我解决同样的问题。提前谢谢

这在3.0中是固定的。出于应用程序兼容性原因,我们没有更改2.1行为


为了使事情变得更简单,格式是MM/dd/yyyy,我正在尝试将其更改为dd/MM/yyyyyy如果您要尝试在ToString()调用中直接指定区域设置,请使用“en-GB”而不是“en-US”。从您最初的问题中还不清楚这一点。调用ToString(dd/MM/yyyy)是可行的,但不幸的是,在我的情况下,这不是一个解决方案。虽然我没有尝试“en GB”或任何其他预先设置的区域设置,但我确实复制了“en US”文件,更改了d_fmt并更改了环境变量以引用它。现在我知道它起作用了,因为系统中的格式确实发生了变化(例如,在询问日期时)