2

下面是我的代码。

static void Main(string[] args)
        {
            DateTime dt = DateTime.Now;
            Console.WriteLine(dt.ToString("dd/MMM/yyyy HH:mm:ss"));
            Console.Read();
        }

当我们在 Visual Studio Community Edition (16.9.4) 中执行上述代码时,它会返回25-Apr-2021 21.35.02而不是25/Apr/2021 21:35:02

如果我们在 Visual Studio 专业版 (16.9.4) 中执行相同的代码,那么它可以正常工作。它总是返回25/Apr/2021 21:35:02

.net5、Core 3.1、.net 标准框架、.net 4.5(控制台、Web、Xamarin、WPF 和桌面应用程序)等所有项目类型都会出现此问题。

有人可以指导如何在 VS 社区版中解决此问题吗?

4

1 回答 1

1

如果您使用/您正在使用自定义格式说明符 /它会:用当前文化的日期分隔符替换它,这似乎是-您的情况。

你有两个选择来阻止它,通过InvariantCulture

Console.WriteLine(dt.ToString("dd/MMM/yyyy HH:mm:ss", CultureInfo.InvariantCulture));

通过将格式说明符包装在 ticks 中来转义它'

Console.WriteLine(dt.ToString("dd'/'MMM'/'yyyy HH:mm:ss"));
于 2021-04-25T16:44:22.753 回答