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的意思。伊万·斯托夫:对不起,我的错。我现在明白了@特雷弗·皮利·多赫。你说得对。更新了我的答案。