添加到目前为止的秒数来计算时间

时间:2016-02-12 11:48:37

标签: c# date datetime time seconds

快速提问,我已经有了这个程序,它给了我01.01.2000以来的秒数。

E.g。 12.02.2016 11:23:55的秒数大约为508590531秒。

是否有一个方法给出了秒数和开始日期,它计算结束日期?

我知道我可以计算手动传递的分钟数/天数/月数/年数,然后尝试计算“结束时间”'但我必须小心谨慎,例如错过闰年,我不会犯错误。

快速定义只是为了完全清楚:

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

3 个答案:

答案 0 :(得分:3)

不确定

您可以相互减去并使用TimeSpan.TotalSeconds property之类的;

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

如果您希望将其作为int获取,则可以明确地将其转换为(int)ts.TotalSeconds

如果已经有秒,并且您想根据开始日期进行计算,则可以使用AddSeconds method之类的;

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

答案 1 :(得分:3)

这很容易。只需添加秒数,无需魔法或新解决方案。

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

答案 2 :(得分:1)

      'components' => [
    .....
    'authManager' => [
        'class' => 'yii\rbac\DbManager',
        'cache' => 'cache',
          ....
    ],