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

标签 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();

最佳答案

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

您需要在单个字符自定义格式字符串前加上 % 才能将其解释为自定义格式字符串:

dateTime.ToString("%d");

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

关于c# - 用于获取不带前导零的月份日期的字符串格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15686798/

相关文章:

java-me - J2ME - 数字格式

c# - 如何在 C# 中使用 mysql?

c# - 创建和写入 XML 文件抛出异常 -> 系统内存不足异常?

c# - WPF 自定义控件,模型作为依赖属性

symfony - Doctrine2 - 如何按月设置查询?

c# - 通过验证创建有效的日期时间对象

c#如何捕获异常并恢复执行

php - 使用 php 和 mysql 计算以小时为单位的日期差异

python - 任何用于计数器的漂亮 python 字符串格式?

c# - String.Format - 如何格式化为 x 位数字(不考虑小数位)?