最近同事给一客户部署系统,最早跟我说过,时间的问题,说是显示英文日期和时间,第一反映是区域和语言那里的设置有问题,问题方法,N久后偶去客户那,竟然还是以前的问题,郁闷,回来在公司可怎么也没有试出来,倒是跟总监大人吵架一回,实之痛心啊……
今天偶亲自去试,因为服务器有点问题,重装之后,问题出来了--从 char 数据类型到 datetime 数据类型的转换导致 datetime 值越界
google and baidu 也说是那里设置问题,可改过之后还是依旧,有一位人亲兄说是SQL语言项,也是徒劳,想来想去还是代码为王
//
———————————————————-------------------------------------------------
// Andy Lu 23:39 2008/05/27 ****市公安局公交分局信息系统BUG
// IBM Server x3250 m2 时间格式问题:
// 从 char 数据类型到 datetime 数据类型的转换导致 datetime 值越界
// select * from Onduty where datediff(d,dutydate,'2008/05/27 17:29:31')=0
// select * from Onduty where datediff(d,dutyDate,'27/5/2008')=0
// ---------------------------------------------------------------------------------------
// string strsql = "select * from Onduty where datediff(d,dutydate,'" + System.DateTime.Now + "')=0 ";
string strsql = " select * from Onduty where datediff(d,dutydate,' " + System.DateTime.Now.ToString( " yyyy-MM-dd " ) + " ')=0 " ;
// Andy Lu 23:39 2008/05/27 ****市公安局公交分局信息系统BUG
// IBM Server x3250 m2 时间格式问题:
// 从 char 数据类型到 datetime 数据类型的转换导致 datetime 值越界
// select * from Onduty where datediff(d,dutydate,'2008/05/27 17:29:31')=0
// select * from Onduty where datediff(d,dutyDate,'27/5/2008')=0
// ---------------------------------------------------------------------------------------
// string strsql = "select * from Onduty where datediff(d,dutydate,'" + System.DateTime.Now + "')=0 ";
string strsql = " select * from Onduty where datediff(d,dutydate,' " + System.DateTime.Now.ToString( " yyyy-MM-dd " ) + " ')=0 " ;
同样的是时间问题
//
———————————————————-------------------------------------------------
// Andy Lu 23:52 2008/05/27 ****市公安局公交分局信息系统BUG
// IBM Server x3250 m2 时间格式问题:
// 显示:星期X dd/MM/yyyy
// ---------------------------------------------------------------------------------------
// this.lblAddDate.Text = "时间:" + Convert.ToDateTime(row[3]).GetDateTimeFormats('f')[0].ToString();
this .lblAddDate.Text = " 时间: " + Convert.ToDateTime(row[ 3 ]).ToString( " yyyy-MM-dd HH:mm:ss " );
// Andy Lu 23:52 2008/05/27 ****市公安局公交分局信息系统BUG
// IBM Server x3250 m2 时间格式问题:
// 显示:星期X dd/MM/yyyy
// ---------------------------------------------------------------------------------------
// this.lblAddDate.Text = "时间:" + Convert.ToDateTime(row[3]).GetDateTimeFormats('f')[0].ToString();
this .lblAddDate.Text = " 时间: " + Convert.ToDateTime(row[ 3 ]).ToString( " yyyy-MM-dd HH:mm:ss " );
总结:System.DateTime.Now 少用,至少要格式化为人性的东东