C#单字符日期格式

C# single character date format

我试图从 DateTime 对象中仅获取日期或小时。不过,我遇到了不接受单字符日期格式字符串的问题,因为其中一些具有特殊含义。

下面抛出一个System.FormatException:

DateTime.Now.ToString("H")

我可以通过添加任何字符并使用子字符串删除它来绕过此限制。虽然这看起来有点武断:

DateTime.Now.ToString(" H").Substring(1)

难道没有更好的方法让这些单字符日期格式发挥作用吗?

您可以使用 % 来定义 Microsoft Docs

中指定的自定义格式
//Example
Console.WriteLine(DateTime.Now.ToString("%H"));

如果您只想获取 DateTime 对象的小时数,可以使用 .Hour;

示例:

// Create Datetime object
DateTime dateTime = DateTime.Now;

// Get Hour from DateTime object
int hour = dateTime.Hour;