我刚刚经历了一个意想不到的复杂过程来定义日期时间。
基础数据具有比毫秒更好的精度。
我最终构建了一个最接近秒的中间日期时间,读取它的刻度值(10 000 到毫秒),调整刻度然后创建我真正想要的日期时间。
我期望构造函数将秒数作为双精度数并使用字符串日期/时间格式说明符。两者似乎都不存在。
有人有好的替代方法吗?
我刚刚经历了一个意想不到的复杂过程来定义日期时间。
基础数据具有比毫秒更好的精度。
我最终构建了一个最接近秒的中间日期时间,读取它的刻度值(10 000 到毫秒),调整刻度然后创建我真正想要的日期时间。
我期望构造函数将秒数作为双精度数并使用字符串日期/时间格式说明符。两者似乎都不存在。
有人有好的替代方法吗?
没有直接的方法来实例化 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
课程基于蜱虫。这是它处理的最小不可分割的度量单位,这就是为什么最细粒度的构造函数用刻度表示。
如果您想不时使用此日期来计算运行代码所需的时间,最好使用Stopwatch秒表类。它使用 DateTime 对象不可用的高精度计时器。如果您没有计时两点之间需要多长时间,而只是想要当前时间比毫秒更精确,我认为您有点过火了,可能不需要那么精确,或者您额外的精度是没有意义的。