0

我想使用下一个代码:

long long DateTimeToTimeT(System::DateTime dt)
{
    System::DateTime epoch(1970, 1, 1, 0, 0, 0, 0);
    long long totalSeconds = (dt - epoch).TotalSeconds;

    return totalSeconds >= 0 ? totalSeconds : 0;
}

所以问题是:异常安全还是我应该在这里处理一些错误?

我的意思是:在这种情况下从double(TotalSeconds)转换为安全吗?long long

4

1 回答 1

0

是的,它是安全的:两个日期的减法永远不会抛出(http://msdn.microsoft.com/en-us/library/1905yhe2(v=vs.110).aspx)因为TimeSpan覆盖的间隔比有效日期大得多.

于 2014-03-03T10:57:01.997 回答