Mik*_*tes 4 c# vb.net datetime
为什么:
DateTime.Now.ToString("M")
Run Code Online (Sandbox Code Playgroud)
不退还月份号码?相反,它返回完整的月份名称及其上的日期.
显然,这是因为"M"也是MonthDayPattern的标准代码.我不想要这个......我想用"M"来获取月号.有没有办法把它关掉?
这里发生的是标准DateTime格式字符串和自定义格式说明符之间的冲突.值"M"是不明确的,因为它既是标准格式说明符又是自定义格式说明符.该DateTime实施将选择在客户格式在冲突的情况下,一个标准的格式,因此它在这里获胜.
消除歧义的最简单方法是在M前加上%char.此char表示以下内容应解释为自定义格式化程序
DateTime.Now.ToString("%M");
Run Code Online (Sandbox Code Playgroud)