用于获取不带前导零的月份日期的字符串格式

本文关键字:字符串 格式 日期 获取 用于 | 更新日期: 2023-09-27 18:06:15

我试图在c#的DateTime对象上使用字符串格式来获得没有前导零的月份的日期。

经过一番搜索,我找到了一些DateTime格式的文档,这表明我应该能够调用:

dateTime.ToString("d");

获得我所追求的值,但是当我尝试它时,而不是接收像28这样的数字,输出是:3/28/2013

经过更多的搜索,我找到了标准日期和时间字符串格式的文档。

两组格式都使用"d"格式,但是从结果可以明显看出,标准字符串格式优先于自定义字符串格式。

是否有一种方法可以指定所需的格式?

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

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

而不是

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

用于获取不带前导零的月份日期的字符串格式

单个字符被理解为标准日期和时间格式字符串,在本例中为"短日期模式"。

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

dateTime.ToString("%d");

这在您链接到的页面中有描述,在使用单个自定义格式说明符(描述%自定义格式说明符)下

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

dateTime.ToString("''d")