DateTime精度与准确度?

san*_*ano 2 c# datetime

Eric Lippert写了一篇关于DateTime 的文章.Jon Skeet评论了他的文章

只要每个人都知道,我对DateTime的精度太高没有任何问题.精确,而不是准确

他的意思是什么?

接近DateTime精度问题与准确性问题有什么关系?

Sea*_*n U 11

他在那篇文章中使用的术语准确性错误.准确性差实际上意味着系统偏差,例如如果计算机的时钟关闭一分钟会发生什么.Lippert的文章真正说明的是错误的精确度.

换句话说,该DateTime结构非常精确,因为它能够表示仅100纳秒的差异.但是,您将获得的值 DateTime.Now仅精确到16毫秒内.但是你给出的数字仍然DateTime具有能够代表的全部精度.这会产生一个问题,因为很容易假设DateTime.Now返回的值带有DateTime结构的全部精度,而不是花时间找出源从中DateTime.Now获取其值的精度.

DateTime作为一个简单的数据结构,没有固有的准确性,所以谈论它并没有多大意义.(一公斤的准确度是多少?)最好谈谈系统时钟的精确程度.(例如,这个规模有多精确?)但是这可能因每台计算机而异,并且与.NET中的数据结构没有任何关系.