将秒数添加到日期以计算时间

Add the seconds to date to calculate Time

快速提问,我有这个程序可以让我了解自 01.01.2000 以来过去的秒数。

例如12.02.2016 11:23:55 的秒数大致为 508590531 秒。

是否有一种方法可以根据过去的秒数和开始日期计算结束日期?

我知道我可以手动计算通过的 Minutes/Days/Months/Years,然后尝试计算 'endTime',但我必须注意不要出错例如错过闰年。

为了完全清楚起见,快速定义:

Start Date : 01.01.2000
End Date:    Current Date
Time passed: Seconds passed between start date and end date

当然可以。

可以互相减去,用TimeSpan.TotalSeconds property一样;

var ts = DateTime.Now - new DateTime(2000, 1, 1);
Console.WriteLine(ts.TotalSeconds);

如果您想将其作为 int,您可以明确地将其转换为 (int)ts.TotalSeconds

如果你已经有秒数并且你想根据你的开始日期计算,你可以使用AddSeconds method like;

var dt = new DateTime(2000, 1, 1).AddSeconds(508590531); // {12.02.2016 11:08:51}
var newDate = oldDate.AddSeconds(numSeconds);

很简单。只需添加秒数,无需魔法或新的解决方案。

DateTime AddedFrom2000 = new DateTime(2000, 1, 1).AddSeconds(508590531);