C# 仅获取datetime的小时/分钟
使用C#,我有一个C# 仅获取datetime的小时/分钟,c#,C#,使用C#,我有一个datetime对象,但我想要的是datetime对象中的小时和分钟 例如: 如果我有一个DateTime对象的July 1 2012 12:01:02我想要的就是July 1 2012 12:01:00对象中的DateTime(因此,没有秒) 试试这个: var src = DateTime.Now; var hm = new DateTime(src.Year, src.Month, src.Day, src.Hour, src.Minute, 0); String ho
datetime
对象,但我想要的是datetime对象中的小时和分钟
例如:
如果我有一个DateTime
对象的July 1 2012 12:01:02
我想要的就是July 1 2012 12:01:00
对象中的DateTime
(因此,没有秒) 试试这个:
var src = DateTime.Now;
var hm = new DateTime(src.Year, src.Month, src.Day, src.Hour, src.Minute, 0);
String hourMinute = DateTime.Now.ToString("HH:mm");
只需使用
Hour
和Minute
属性即可
var date = DateTime.Now;
date.Hour;
date.Minute;
或者,您可以使用
var zeroSecondDate = date.AddSeconds(-date.Second);
我建议保留您拥有的对象,只利用您想要的属性,而不是删除您已经拥有的分辨率 如果你想把它打印成某种格式,你可能想看看……这样你就可以保持你的分辨率 也就是说,您可以仅使用@romkyns在其答案中提供的属性创建一个新的
DateTime
对象。尝试以下方法:
var src = DateTime.Now;
var hm = new DateTime(src.Year, src.Month, src.Day, src.Hour, src.Minute, 0);
String hourMinute = DateTime.Now.ToString("HH:mm");
现在您将以小时:分钟的格式获取时间。他确实说过“在DateTime对象中”…)@zomkyns我们可以轻松地用比创建新代码更少的代码零秒instance@Ribtoks,DateTime是一个结构,是不可变的。通过使用AddSeconds,它创建了一个DateTime的新实例,并返回该实例。因此,无论哪种方式,您都将创建一个新的DateTime对象。AddSeconds最终会调用
returnnewdatetime((UInt64)(ticks+value)| InternalKind)
(查看.net源代码-仅供参考)。这是最好的答案。DateTime的ToString方法仅用于此目的:格式化DateTime。请参阅OP要求的是DateTime对象,而不是字符串。从技术上讲,这不是OP的答案,但这正是我需要的答案。