神奇的datetime和datetime,一毫秒引发的血案

简介: 今天才发现C#的datetime和sqlserver的daetime是多么的不一样。首先最小和最大值不一样这是众所周知的,其实精度也是一大坑。 比如 DateTime.Today.AddMilliseconds(-1)  我把这个值直接传数据库,从结果上看还是今天。

今天才发现C#的datetime和sqlserver的daetime是多么的不一样。首先最小和最大值不一样这是众所周知的,其实精度也是一大坑。

比如

DateTime.Today.AddMilliseconds(-1)

 我把这个值直接传数据库,从结果上看还是今天。

DateTime.Today.AddMilliseconds(-2)

 就不会了。但是毫秒级基本不是那么常用,最后吓得我赶紧减了一秒

DateTime.Today.AddSeconds(-1)

 之后我专门去试一下这个精度问题。时间都是以今天(2015-03-14)为基准,每次插入20条数据。

从左到后,从上到下依次是1,2,3,5,10,25的情况。可以看到,一毫秒的情况最为神奇。

目录
相关文章
C# DataTable不能通过已删除的行访问该行的信息
C# DataTable不能通过已删除的行访问该行的信息
|
消息中间件 RocketMQ
rocketmq 超过4M消息体怎么发送
rocketmq 超过4M消息体怎么发送
530 1
|
数据库连接 开发者
.NET 内存管理两种有效的资源释放方式
【10月更文挑战第15天】在.NET中,有两种有效的资源释放方式:一是使用`using`语句,适用于实现`IDisposable`接口的对象,如文件流、数据库连接等,能确保资源及时释放,避免泄漏;二是手动调用`Dispose`方法并处理异常,提供更灵活的资源管理方式,适用于复杂场景。这两种方式都能有效管理资源,提高应用性能和稳定性。
288 2
|
存储 监控 算法
内存泄漏还是高性能?深度揭秘.NET垃圾回收机制
【8月更文挑战第28天】垃圾回收是.NET框架中自动化内存管理的关键机制,它通过分代收集算法自动清理不再使用的对象,简化了开发者的内存管理工作。本文深入解析了垃圾回收器的工作原理、对象内存分配策略及优化技巧,并介绍了多种监控工具,帮助提升.NET应用性能与稳定性。掌握这些知识将使开发者能够更高效地管理内存,提高应用程序的运行效率。
147 3
|
SQL 存储 NoSQL
|
网络协议 网络安全 数据安全/隐私保护
内容安全(DPI和DFI解析)
内容安全(DPI和DFI解析)
613 6
|
Windows
window如何批量创建文件夹
【5月更文挑战第20天】window如何批量创建文件夹
905 1
|
Kubernetes Cloud Native Linux
Kubernetes 计算 CPU 使用率
Kubernetes 计算 CPU 使用率
879 1
|
移动开发 前端开发 数据处理
探索前端性能优化的新思路:使用Web Workers提升网页响应速度
传统的前端性能优化方法已经不能完全满足日益增长的网页需求。本文提出了一种新的思路,即利用Web Workers技术来提升网页的响应速度。通过将耗时的计算任务交给Web Workers处理,可以避免主线程阻塞,从而提高网页的用户体验。本文将介绍Web Workers的基本原理、使用方法以及在前端性能优化中的应用实例,帮助开发者更好地理解和运用这一技术。
|
消息中间件 安全 数据库连接
.NET开发问题记录——TransactionScope出错:“与基础事务管理器的通信失败”的解决方法
.NET开发问题记录——TransactionScope出错:“与基础事务管理器的通信失败”的解决方法
433 0