26

我试图找出最简单的代码,以便在 DateTime.Now 函数的小时和分钟上添加前导零。我只需要结合小时和分钟,我不需要日期的其余部分。

最好的方法是什么?

我的代码如下所示:

DateTime.Now.Hour.ToString() + ":" + DateTime.Now.Minute.ToString();

但是,我得到了下午 4:04 的 16:4 等数据,我需要它看起来像 16:04。我熟悉有关日期时间格式的 msdn 文章,但我没有看到任何专门解决此问题的内容。

是否可以结合`DateTime.Now.Hour.ToString() + ":" + DateTime.Now.Minute.ToString();

如果不是,我将如何轻松地将 HH:MM 从 DateTime.Now 中拉出?

寻找尽可能少的代码行,因为这是我将经常使用的东西。谢谢

4

5 回答 5

85
DateTime.Now.ToString("hh:mm") // for non military time
DateTime.Now.ToString("HH:mm") // for military time (24 hour clock)

使用hhvsh将做一个领先的 0。与mm分钟相同。如果你想要秒,你可以使用ss.

MM - Month with leading 0
M - Month without leading 0
dd - Day with leading 0
d - Day without leading 0
yyyy - 4 Digit year
yy - 2 Digit year
HH - Military Hour with leading 0
H - Military Hour without leading 0
hh - Hour with leading 0
h - Hour without leading 0
mm - Minute with leading 0
m - Minute without leading 0
ss - Second with leading 0
s - Second without leading 0
tt - AM / PM 

还有很多。您应该查看 MSDN 文档以获取完整参考: https ://msdn.microsoft.com/library/zdtaw1bw.aspx

于 2012-04-26T21:48:11.590 回答
5

如果您只想将小时和分钟作为分隔值,您可以使用

DateTime.Now.Hour.ToString("00.##") + ":" + DateTime.Now.Minute.ToString("00.##");
于 2016-04-19T08:15:13.740 回答
3

您应该查看 MSDN 的标准日期和时间格式字符串

于 2012-04-26T21:49:31.193 回答
0

尝试使用格式参数ToString

[DateTime]::Now.ToString("hh:mm")
于 2012-04-26T21:49:19.383 回答
0

使用插值可以做到这一点: Console.WriteLine($"{DateTime.Now:HH:mm}")其中Console.WriteLine可以是一个字符串变量。

于 2020-07-03T14:17:41.920 回答