首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DateTime.ToString()对于自定义模式和非默认系统设置不能很好地工作

DateTime.ToString()对于自定义模式和非默认系统设置不能很好地工作
EN

Stack Overflow用户
提问于 2015-10-01 15:58:11
回答 1查看 159关注 0票数 1

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

代码语言:javascript
复制
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",则代码工作正常。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-01 16:00:04

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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32891948

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档