【发布时间】:2009-04-26 19:59:58
【问题描述】:
从“曾经”开始,我就一直遇到这个日期问题
我住在一个我们使用英国日期格式的国家,例如dd/mm/yyyy 但是每次我尝试对托管在美国服务器中的 sql 数据库进行查询时,100% 的时间我都会遇到错误。
Convert.ToDateTime("2007-17-5") 会产生错误,而 Convert.ToDateTime("2007-5-17") 也会产生错误。
许多验证方法、许多 t-sql 查询和许多其他方法,我在大多数项目中都尝试并部分解决了,但是,我想知道是否有人有通用方法将字符串转换为日期不会造成任何问题?
或任何有关处理日期的好资源?
-----------编辑... -----------------
即使我正确地格式化日期,即使我确定有,对 sql 服务器的查询也不会产生任何值。例如,如果我正在搜索属于 1/ 之间日期的记录从 1/2009(即 2009 年 1 月 1 日)到 1/5/2009(即 2009 年 5 月 1 日)不返回任何记录。当我尝试在 sql server 的查询生成器中更改日期时,它给了我一个错误,说它不是我输入的有效日期...
【问题讨论】:
-
“2007-5-17”不是有效的国际日期,“2007-05-17”是。如果您要使用国际格式“YYYY-MM-DD”,则需要包含前导 0。
-
谢谢 jrcs3,前导零是我所缺少的……我终于很高兴地发现,有一种国际化的日期处理方式,因为它让我头痛到现在...
-
酷,我添加了评论作为答案。