0

我刚刚经历了一个意想不到的复杂过程来定义日期时间。

基础数据具有比毫秒更好的精度

我最终构建了一个最接近秒的中间日期时间,读取它的刻度值(10 000 到毫秒),调整刻度然后创建我真正想要的日期时间。

我期望构造函数将秒数作为双精度数并使用字符串日期/时间格式说明符。两者似乎都不存在。

有人有好的替代方法吗?

4

2 回答 2

4

没有直接的方法来实例化 aDateTime基于几分之一秒。正如您所发现的,您可以获得的最接近的方法是使用刻度。像这样的函数至少应该使您不必DateTime在每种情况下都创建多个 s。

public DateTime DateTimeFromFractionalSeconds(int year, int month, int day, int hour, int minute, double seconds)
{
    return new DateTime(year, month, day, hour, minute).AddTicks((long)(seconds * 1000000000));
}

你是对的,设计师可以包括这样一个构造函数。但是,DateTime课程不是以秒为单位,而是以分钟为单位。我知道你想要小数秒,但你真的能证明小数秒比小数分钟更合法吗?还是小时?该DateTime课程基于蜱虫。这是它处理的最小不可分割的度量单位,这就是为什么最细粒度的构造函数用刻度表示。

于 2009-10-07T01:39:49.493 回答
1

如果您想不时使用此日期来计算运行代码所需的时间,最好使用Stopwatch秒表类。它使用 DateTime 对象不可用的高精度计时器。如果您没有计时两点之间需要多长时间,而只是想要当前时间比毫秒更精确,我认为您有点过火了,可能不需要那么精确,或者您额外的精度是没有意义的。

于 2009-10-07T01:45:29.433 回答