关于.net中的System.DateTime.Now与SQL Server中的getDate()的格式化
2007-12-01 16:53
281 查看
以前一直都喜欢在储存过程中用这种方法来比较时间是否相同。
比如说@dateA是使用.net的 System.DateTime.Now传进来的当前时间的参数,而@dateB是在数据库中使用
getDate()系统函数得到的当前时间,然后Convert(Varchar(10),@dateA,120)=Convert(Varchar(10),@dateB,120)
来比较时候相等,在今天之前好像这个方法都一直都很奏效,但是刚刚在我的一个储存过程中这个办法出了
问题了,比出来的时间是不相等,为什么呢? 后来一调试,才发现使用从.net中传入的时间参数@dateA转换出来
的当前时间为:2007-12-1 而使用数据库getDate()函数得到的@dateB参数转换出来的时间为:2007-12-01
原来都是那个“天”的格式造成两个时间不相等的,.net中的天为"1",而sql server数据库中的天为"01"。
解决办法其实也简单,在获取.net的当前时间前先格式化下:dateA=DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") ,就可以搞定了。
比如说@dateA是使用.net的 System.DateTime.Now传进来的当前时间的参数,而@dateB是在数据库中使用
getDate()系统函数得到的当前时间,然后Convert(Varchar(10),@dateA,120)=Convert(Varchar(10),@dateB,120)
来比较时候相等,在今天之前好像这个方法都一直都很奏效,但是刚刚在我的一个储存过程中这个办法出了
问题了,比出来的时间是不相等,为什么呢? 后来一调试,才发现使用从.net中传入的时间参数@dateA转换出来
的当前时间为:2007-12-1 而使用数据库getDate()函数得到的@dateB参数转换出来的时间为:2007-12-01
原来都是那个“天”的格式造成两个时间不相等的,.net中的天为"1",而sql server数据库中的天为"01"。
解决办法其实也简单,在获取.net的当前时间前先格式化下:dateA=DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") ,就可以搞定了。
相关文章推荐
- [.Net学习笔记]DateTime.Now.ToString(),格式化日期。
- System.DateTime.Now.ToString()的一些用法
- .Net日期时间格式化输出大全 DateTime.ToString(?)
- 关于Json中DateTime类型与.Net DateTime的转化
- 关于.net DateTime 的一些事儿
- asp.net中System.DateTime.Now.ToString()的一些用法
- C#中获取当前时间:System.DateTime.Now.ToString()用法
- 关于.net 2.0程序连接SQL Server 2K的问题
- getTimeInMillis() vs. DateTime.Now.Ticks——Java 和 .NET 获得毫秒级长整型数值的差异和解决
- DateTime.Now.ToString() 输出格式化
- System.DateTime.Now.ToString()的一些用法 [转]
- Sql Server 日期格式化函数GETDATE()
- getTimeInMillis() vs. DateTime.Now.Ticks——Java 和 .NET 获得毫秒级长整型数值的差异和解决
- 关于DateTime.ToString()格式化
- .NET 日期与时间类System.DateTime
- sql server中datetime字段只取年月日如2006-04-21,默认值如何设置?getdate()得到的是包含时分秒的时间。
- asp.net中System.DateTime.Now.ToString()的一些用法
- 转自博客园的一篇关于日期格式的文字《.NET中DateTime时间格式转换(附用户定义格式)》
- getTimeInMillis() vs. DateTime.Now.Ticks——Java 和 .NET 获得毫秒级长整型数值的差异和解决
- .Net日期时间格式化输出大全 DateTime.ToString()