你怎么得到当前的时间?

259 c# datetime

你如何得到当前时间(不是日期和时间)?

示例:下午5:42:12

Mar*_*ett 379

DateTime.Now.TimeOfDay给你一个TimeSpan(从午夜开始).

DateTime.Now.ToString("h:mm:ss tt")把它作为一个字符串给你.

DateTime参考:https://msdn.microsoft.com/en-us/library/system.datetime

  • DateTime.Now.ToShortTimeString()与第二个建议相同. (25认同)
  • .ToString("HH:mm:ss tt")会给你17:42:12 PM,而.ToString("h:mm:ss tt")会给你5:42:12 PM. (12认同)
  • @Kyle - 不太准确.ToShortTimeString以用户选择的短时间格式返回时间,如Windows的区域设置中所指定. (6认同)
  • 好吧,几乎相同,它返回一个字符串,但缺少时间的秒部分. (4认同)

Chr*_*tow 43

使用String.Format()的另一个选项

string.Format("{0:HH:mm:ss tt}", DateTime.Now)
Run Code Online (Sandbox Code Playgroud)


Mus*_*o31 41

试试这个:

DateTime.Now.ToString("HH:mm:ss tt")

对于其他格式,您可以检查此站点:C#DateTime格式


Opp*_*nal 24

AM/PM指示符的当前时间:

DateTime.Now.ToString("hh:mm:ss tt", System.Globalization.DateTimeFormatInfo.InvariantInfo)
DateTime.Now.ToString("hh:mm:ss.fff tt", System.Globalization.DateTimeFormatInfo.InvariantInfo)
Run Code Online (Sandbox Code Playgroud)

使用0-23小时表示法的当前时间:

DateTime.Now.ToString("HH:mm:ss", System.Globalization.DateTimeFormatInfo.InvariantInfo)
DateTime.Now.ToString("HH:mm:ss.fff", System.Globalization.DateTimeFormatInfo.InvariantInfo)
Run Code Online (Sandbox Code Playgroud)

  • @Anar,我解除了你的-1.问题是_"我如何得到时间"_,所有答案都回答.你的downvoting是因为你把问题读作_"如何格式化像'5:00 PM'的小时"_,而OP只是(并明确地)提到特定日期格式作为例子.您甚至低估了[@ Musikero31的答案](http://stackoverflow.com/a/9974622/266143),同时它提到了任何人都可以查找他们正在寻找的格式字符串的页面. (3认同)

ben*_*rce 23

DateTime.Now.TimeOfDay
Run Code Online (Sandbox Code Playgroud)

要么

DateTime.Now.ToShortTimeString()
Run Code Online (Sandbox Code Playgroud)


pra*_*uan 14

开始了:

 DateTime time = DateTime.Now;
 Console.WriteLine(time.ToString("h:mm:ss tt"));
Run Code Online (Sandbox Code Playgroud)

  • 时间中的`t` 应该大写。为你修好了。 (2认同)

小智 12

这会更好,试试这个

    DateTime.Now.ToShortTimeString();
Run Code Online (Sandbox Code Playgroud)

为此,您无需指定时间格式.


小智 10

DateTime.Now.ToString("yyyy-MM-dd h:mm:ss tt");
Run Code Online (Sandbox Code Playgroud)

只需尝试它就可以满足您的需求


Gre*_*g D 8

获取当前日期和时间,然后只使用它的时间部分.查看在MSDN文档中格式化日期时间字符串的可能性.


Ste*_*tze 7

datetime.TimeOfDay返回TimeSpan,可能正是您要查找的内容.


far*_*sam 7

我认为这段代码可以解决你的问题

DateTime.Now.ToString("HH:mm")
Run Code Online (Sandbox Code Playgroud)


Han*_*ain 5

这可能是一个可能的解决方案:

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