我正在尝试在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();
答案 0 :(得分:10)
单个字符被理解为Standard Date and Time Format String,在本例中为“短日期模式”。
您需要使用%
为单个字符自定义格式字符串添加前缀,以便将其解释为自定义格式字符串:
dateTime.ToString("%d");
这在您链接到的页面上进行了描述,位于Using Single Custom Format Specifiers下(其中描述了%
自定义格式说明符)。
答案 1 :(得分:0)
您可以通过在格式中添加空文字,使ToString
方法将格式用作自定义格式字符串而不是标准格式字符串:
dateTime.ToString("''d")