获取一天中没有前导零的日期的字符串格式

时间:2013-03-28 16:11:12

标签: c# datetime string-formatting

我正在尝试在C#中的DateTime对象上使用字符串格式来获取月份中没有前导零的日期。

经过一番搜索,我找到了some documentation for DateTime formats,这表明我应该可以致电:

dateTime.ToString("d");

获取我之后的值,但是当我尝试使用它时,输出不是28,而是收到3/28/2013这样的数字。

经过一番搜索后,我找到了Standard Date and Time String Formats的文档。

这两种格式都使用"d"格式,但结果很明显标准字符串格式优先于自定义字符串格式。

有没有办法指定所需的格式?

为了代码一致性,我更喜欢写:

a = dateTime.ToString(...some format...);
b = dateTime.ToString(...some format...);

而不是

a = dateTime.ToString(...some format...);
b = dateTime.Day.ToString();

2 个答案:

答案 0 :(得分:10)

单个字符被理解为Standard Date and Time Format String,在本例中为“短日期模式”。

您需要使用%为单个字符自定义格式字符串添加前缀,以便将其解释为自定义格式字符串:

dateTime.ToString("%d");

这在您链接到的页面上进行了描述,位于Using Single Custom Format Specifiers下(其中描述了%自定义格式说明符)。

答案 1 :(得分:0)

您可以通过在格式中添加空文字,使ToString方法将格式用作自定义格式字符串而不是标准格式字符串:

dateTime.ToString("''d")