Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 仅获取datetime的小时/分钟_C# - Fatal编程技术网

C# 仅获取datetime的小时/分钟

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

使用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 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的答案,但这正是我需要的答案。