日期:2014-05-17  浏览次数:20905 次

请教一个获取时间的代码!!
if (ds.Tables[0].Rows[0]["日期"].ToString().Substring(0, 4)=="1900")
  {
  this.dateTimePicker1.Value =Convert.ToDateTime(System.DateTime.Now.ToString());
  }
  else
  {
  this.dateTimePicker1.Value = Convert.ToDateTime(ds.Tables[0].Rows[0]["日期"].ToString());
  }

我这个代码要表达一个很简单的意思
我是想判断如果数据库中的 日期字段包含有1900 就让dateTimePicker1.Value 值等于当前系统时间

否则就取得数据库中的日期,但是出现个问题

我查询一个“日期”字段包含1900的记录 取得的系统日期格式为 2012-9-5 19:31:47  

我只想取得2012-9-5 需要怎么修改呢?

------解决方案--------------------
C# code

this.dateTimePicker1.Value = Convert.ToDateTime(ds.Tables[0].Rows[0]["日期"].ToString("yyyy-MM-dd"));

------解决方案--------------------
晕,难道是嫌机器没事干嘛?把DateTime先ToString然后再用Convert转换会DateTime。

你只要用DateTime的Date属性就可以得到日期部分了,时间部分全是0。如
this.dateTimePicker1.Value = DateTime.Now.Date;
this.dateTimePicker1.Value = Convert.ToDateTime(ds.Tables[0].Rows[0]["日期"].ToString()).Date;

当然对于上面的一个,也就是取当天了,直接用DateTime.Today也可以,用Date的话代码看起来比较一致。