6

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

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

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();
4

2 回答 2

12

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

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

dateTime.ToString("%d");

这在您链接到的页面上的使用单个自定义格式说明符(描述%自定义格式说明符)下进行了描述。

于 2013-03-28T16:14:22.710 回答
0

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

dateTime.ToString("''d")
于 2013-03-28T16:16:49.210 回答