1

我正在尝试DateTime使用 .NET 4.5 上的以下 C# 代码从对象中获取字符串:

var dateTime = new DateTime(2015, 9, 30);
var str = dateTime.ToString("M/d/yyyy");

Console.WriteLine(str);

在正常情况下,此代码的输出是 2015 年 9 月 30 日,正如预期的那样。

但是,如果我转到控制面板、区域和语言并将美国英语的“短日期”模式更改为“dd-MMM-yy”,上面的代码会突然显示 9-30-2015!

在此处输入图像描述

有谁知道为什么会发生这种情况以及它如何修复/解决?请注意,例如,如果我在区域和语言中选择另一个短日期模式,例如“M/d/yy”,则代码可以正常工作。

4

1 回答 1

3

/在您的格式字符串中被视为日期分隔符并替换为区域设置中定义的任何分隔符。你必须用\( \\,准确地说)来逃避它

于 2015-10-01T16:00:04.073 回答