繁体   English   中英

如何在DateTime中格式化小时以返回0而不是12?

[英]How do I format hours in DateTime to return 0 instead of 12?

默认情况下,DateTime的格式字符串中的小时将0转换为12.例如,如果有

DateTime dt = new DateTime(1999, 1, 1, 0, 0, 0);
string s = dt.ToString("h:mm:ss");

s的值为“12:0:0”,而不是“0:0:0”。 有没有办法获得“0:00:00”?

尝试

string s = dt.ToString("H:mm:ss");

这是参考页面。

你很亲密,试着改用它:

string s = dt.ToString("H:mm:ss");
string s = (dt.Hour >= 12 ? dt.Hour - 12 : dt.Hour).ToString() +
    dt.ToString(":mm:ss");

显然这不是你想要的。 我读你的帖子的方式,你想要一个12小时的时钟重新映射“12:00”到“0:00”(一些国际时钟这样做),这产生。 此行为没有格式字符串,因此您必须自己创建字符串。

您还可以在此处阅读有关DateTime格式字符串的更多信息

而不是“h:mm:ss”,使用“H:mm:ss”

您需要在ToString方法中使用大写H而不是小写h。

DateTime dt = new DateTime(1999,1,1,0,0,0); string s = dt.ToString(“H:mm:ss”);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM