C# C中两次之间的差异

C# C中两次之间的差异,c#,date,datetime,time,C#,Date,Datetime,Time,我读过几篇关于这个话题的讨论,比如下面的一篇 但我找不到我问题的答案 public DateTime retunPureTime(int min,int sec) { DateTime mydate= new DateTime(2000, 12, 23, 14, 40, 20); retrun ????????; } 我需要返回一个DateTime对象reduce by参数值。例如,如果pass min=3,sec=30 我需要在下一个日期返回 DateTime(2000,

我读过几篇关于这个话题的讨论,比如下面的一篇

但我找不到我问题的答案

public DateTime retunPureTime(int min,int sec)
{
    DateTime mydate= new DateTime(2000, 12, 23, 14, 40, 20);

    retrun ????????;
}
我需要返回一个DateTime对象reduce by参数值。例如,如果pass min=3,sec=30

我需要在下一个日期返回

DateTime(2000, 12, 23, 14, 36, 50);

您可以这样做:

return mydate - TimeSpan.FromSeconds(min * 60 + sec);

您可以使用add方法AddSeconds、AddMinutes等添加时间。。也可以使用减法减去时间。它需要一个DateTime参数

所以,如果你想减去3分30秒,你可以:

DateTime myDate= new DateTime(2000, 12, 23, 14, 40, 20);
var foo = new DateTime();
var subtraction = foo.AddMinutes(3).AddSeconds(30);

return myDate.Subtract(subtraction);

你听说过TimeSpan吗?@MelanciaUK虽然TimeSpan对象听起来像是问题标题中所要求的,这个描述听起来好像他只是想把一个给定的DateTime对象减少N分Y秒,而不是用他自己的话说,减少两次之间的时间差。你需要时差还是新的日期时间?您的问题和解释有歧义。DateTime是不可变的,AddMinutes将返回一个新的DateTime实例,而不是更改您调用该方法的实例。@TrevorPilley:OP没有要求返回相同的对象。这更优雅。@NirajDoshi Yiu没有理解Trevor的意思。伊万·斯托夫:对不起,我的错。我现在明白了@特雷弗·皮利·多赫。你说得对。更新了我的答案。