只获得日期时间的小时/分钟

Dan*_*Man 32 c#

使用C#,我有一个datetime对象,但我想要的只是日期时间对象中的小时和分钟.

因此,例如:如果我有一个DateTime的对象July 1 2012 12:01:02我想要的是July 1 2012 12:01:00datetime对象(所以,没有秒).

Rom*_*kov 56

试试这个:

var src = DateTime.Now;
var hm = new DateTime(src.Year, src.Month, src.Day, src.Hour, src.Minute, 0);
Run Code Online (Sandbox Code Playgroud)


Rib*_*oks 33

只是使用HourMinute属性

var date = DateTime.Now;
date.Hour;
date.Minute;
Run Code Online (Sandbox Code Playgroud)

或者您可以轻松地将秒数归零

var zeroSecondDate = date.AddSeconds(-date.Second);
Run Code Online (Sandbox Code Playgroud)

  • @Ribtoks,DateTime是一个结构,是不可变的.通过使用AddSeconds,它创建一个DateTime的新实例并在其位置返回它.无论哪种方式,您都将创建一个新的DateTime对象.AddSeconds最终会调用`return new DateTime((UInt64)(ticks + value)| InternalKind)`(查看.net源代码 - 仅供参考). (3认同)
  • +1的"AddSeconds"想法,但是!注意毫秒.... :) (3认同)

小智 27

试试这个:

String hourMinute;

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

现在您将获得以小时为单位的时间:分钟格式.

  • OP 要求提供 DateTime 对象,而不是字符串。 (3认同)