标准日期格式vs自定义日期格式

本文关键字:日期 格式 自定义 vs 标准 | 更新日期: 2023-09-27 18:10:19

我提供了一个应用程序,用户可以通过任何给定的格式字符串格式化任何日期。我发现的问题如下:

假设我想将日期格式设置为单月索引。这是今天的"6"。
但是:

DateTime.Today.ToString("dd.MM.yyyy") => 26.06.2014<br/>
DateTime.Today.ToString("M") => **26 Juni**<br/>
DateTime.Today.ToString("dM") => 266

使用msdn我发现,"M"是-如果使用单数-标准格式说明符,但如果与其他字符一起使用,它是一个自定义格式说明符(http://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx;http://msdn.microsoft.com/en-us/library/8kb3ddd4 (v = vs.110) . aspx)

问题:如何强制解释给定的格式字符串总是自定义格式说明符?

标准日期格式vs自定义日期格式

在第二种情况下,您需要通过提供%符号来指定M是自定义格式说明符:

Console.WriteLine(DateTime.Today.ToString("%M"));

打印:

6

根据MSDN:自定义日期和时间格式字符串和MSDN:使用单个自定义格式说明符,%符号:

将以下字符定义为自定义格式说明符。

我猜如果用户可以指定字符串,你应该总是用%转义它。