关于.net DateTime 的一些事儿
2024-09-03 14:15:49
最近开发的过程中遇到一种情况,在.net 程序中获取的Datetime格式的时间,在存入SQL server中,毫秒部分丢失。
这个是个很奇怪的状况,因为在Debug的时候,Datetime的变量的确是拥有毫秒信息的。但是在插入数据库以后,毫秒的信息缺不见了。
后来找到了微软官方的介绍,Datetime在向SQL server 插入数据时,毫秒级别的数据会丢失。
这就造成了很麻烦的问题,必须要在插入数据库之前,手动把日期转换为带有毫秒的字符串才行。
因为要把DateTime.Now换为DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff");
原本在实体类定义的Datetime的字段,就要变为String。
SQL server 端的日期存储是Datetime格式的,String类型的字符串只要符合格式都可以顺利插入。
不过Nhibernate这边,数据库格式与映射文件格式不同,暂时不知道是否有影响。
此外,由于我的疏忽,第一次修改的时候
DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff");
被我写成了DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss:fff");
原本我只知道时间转换月份和分钟因为都是m,所以要区分大小写MM和mm
但是小时一直都没留意,HH和hh也是有区别的。
HH表示格式化后的时间为24小时进制,而hh表示格式化后是12小时进制。
这个写错了,可是非常要命的事情,以后一定要注意才行。
最新文章
- 关于ZedGraph
- 《CLR.via.C#第三版》第二部分第8,9章节读书笔记(四)
- Hammer.js分析(四)——recognizer.js
- EasyUI管理后台模板(附源码)
- entity framework 新手入门篇(2)-entity framework基本的增删改查
- .NET跨平台实践:用C#开发Linux守护进程(转)
- GDB 使用大法
- uva494 Kindergarten Counting Game
- Animations--动画基础
- java web 学习三(Tomcat 服务器学习和使用2)
- [CSS]三角形
- hadoop错误Cannot load libsnappy.so.1 (libsnappy.so.1 cannot open shared object file No such file or directory)!
- GridFS
- poj 3270 Cow Sorting (置换入门)
- 为Play初学者准备的Scala基础知识
- openssh/openssl升级到7.4和1.0.2j 源码方式
- 第一册:lesson 113.
- Tomcat 配置文件server.xml详解
- tidb调研
- 彻底理解this 的值到底是什么?