如何从C#DateTime获取小时而不前导零?

如何从C#DateTime获取小时而不前导零?,c#,C#,错误提示我应该首先解析字符串。当前时间是3我不想要03我只想要3“hh”返回03,但我不能简单地使用“h”。听起来您需要标准的int格式。如果是这样,只需在Hour属性上调用ToString DateTime now = DateTime.Now; string time = now.ToString("h"); 如果您想要12小时的时间,请执行以下操作 string time = now.Hour.ToString(); 你必须这样做。@p.s.w.g怎么会失败?他是说现在

错误提示我应该首先解析字符串。当前时间是3我不想要03我只想要3
“hh”
返回03,但我不能简单地使用
“h”。

听起来您需要标准的
int
格式。如果是这样,只需在
Hour
属性上调用
ToString

DateTime now = DateTime.Now;
        string time = now.ToString("h");
如果您想要12小时的时间,请执行以下操作

string time = now.Hour.ToString();

你必须这样做。

@p.s.w.g怎么会失败?他是说现在是24小时。如何转换为12小时时间?@JaredPar它只是不返回12小时时间。这将是一个24小时时钟看起来你可以做((DateTime.hour+11)%12)+1得到12小时的时间。有关更简单的解决方案,请参阅TyCobb的答案。这是答案。百分比很重要:遇到FormatException错误,花了半个小时,无法找到它,谷歌搜索,首先找到的是这个如此的条目,然后砰的一声,有答案了。美好的所以,这就是它的工作方式。
var hour = now.Hour > 12 ? now.Hour - 12 : now.Hour;
string time = hour.ToString();
System.DateTime.Now.ToString("%h")