我试图在DateTime 4.5上使用以下C#代码从.NET对象中获取字符串:
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",则代码工作正常。
发布于 2015-10-01 16:00:04
格式字符串中的/被视为日期分隔符,并替换为在区域设置中定义的任何分隔符。您必须用\ (准确地说,是\\)来转义它。
https://stackoverflow.com/questions/32891948
复制相似问题