如何在没有前导零的情况下从C#DateTime获取小时?

Chr*_*uce 12 c#

DateTime now = DateTime.Now;
        string time = now.ToString("h");
Run Code Online (Sandbox Code Playgroud)

错误说我应该首先解析字符串.当前时间是3我不想03我只想要3. "hh"返回03但我不能简单地使用"h".

TyC*_*obb 20

System.DateTime.Now.ToString("%h")
Run Code Online (Sandbox Code Playgroud)

您必须指定格式是自定义的.

  • 这就是答案.重要的百分比:http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx#UsingSingleSpecifiers (2认同)

Jar*_*Par 5

听起来你想要标准int格式.如果是这样只需调用ToStringHour财产

string time = now.Hour.ToString();
Run Code Online (Sandbox Code Playgroud)

如果您想要12小时的时间,请执行以下操作

var hour = now.Hour > 12 ? now.Hour - 12 : now.Hour;
string time = hour.ToString();
Run Code Online (Sandbox Code Playgroud)

  • @JaredPar它只是不返回12小时的时间.这将是24小时制 (2认同)