我有一个代码,我在其中计算日期之间的一些间隔,为此我有一个定义的间隔时间,我将其添加到一个日期,为此我看到了两种方法,但我不明白其中的区别,对我来说它们是一样的:
var timespan = new TimeSpan(0, 0, 5);
var d1 = new DateTime(2010, 1, 1, 8, 0, 15);
var newDateWithTimeSpan = d1.Add(timespan);
var newDateWithSeconds = d1.AddSeconds(5);
Console.WriteLine(newDateWithTimeSpan);
Console.WriteLine(newDateWithSeconds);
最佳答案
不,计算新 DateTime
值的两种方式没有区别。通常有多种方式来表达相同的意图,尤其是 DateTime
。 (例如,您可以使用 d1 + timespan
作为另一个选项。)
虽然这不是实际的实现,但您可以想象 AddSeconds
是这样实现的:
public DateTime AddSeconds(double seconds) =>
this.Add(TimeSpan.FromSeconds(seconds));
这只是一个方便的方法。
我认为使用 TimeSpan.FromSeconds
在您的代码中是表达“我想创建一个代表 5 秒的 TimeSpan
”的更清晰的方式,但这是一个稍微独立的问题。
关于c# - 在 C# 中使用时间跨度或表示时间跨度的整数值之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61144707/