【发布时间】:2018-09-26 19:37:23
【问题描述】:
我正在将我的代码从 .net 框架迁移到 .net 核心并在 Linux 机器上对其进行测试,我遇到的问题之一是调用 DateTime ToString() 函数时的日期格式,在 Windows 中是默认值日期格式由操作系统引导,并且可以在我尝试在 Linux 中执行类似操作的设置中进行自定义,方法是定义具有所需格式的新语言环境文件并设置适当的变量 (LC_Time)。当向系统询问日期时,我得到了所需格式的答案,但是在运行代码时,我仍然得到“错误”的答案。我错过了什么吗?
【问题讨论】:
-
为了让事情更简单,格式为 MM/dd/yyyy,我正在尝试将其更改为 dd/MM/yyyy
-
如果您尝试直接在 ToString() 调用中指定语言环境怎么办?
-
关于 dd/MM/yyyy 使用“en-GB”而不是“en-US”。从您最初的问题中并不清楚这一点。
-
调用 ToString(dd/MM/yyyy) 有效,但不幸的是在我的情况下不是解决方案
-
虽然我没有尝试“en-GB”或任何其他预制语言环境,但我确实复制了“en-US”文件更改了 d_fmt 并更改了环境变量以引用它。现在我知道它起作用了,因为系统中的格式确实发生了变化(例如在询问日期时)