在 vs 2003 里面 
            string date = "2006-1-3 00:00:00";
            DateTime dt = Convert.ToDateTime(date);  //现在这个dt里面是"2006-1-3"而不是这"2006-1-3 00:00:00"
            MessageBox.Show(dt.ToString());   //但是转换为string 就显示是"2006-1-3 00:00:00"  //这是为什么呢? 怎么能使dt变为2006-1-3 00:00:00 不需要转换类型?

解决方案 »

  1.   

    dt.ToString("yyyy-MM-dd")//还是ToString了啊?
      

  2.   

    楼主不要再去思考这个问题了,任何数据类型,如果不转换成string,全是肉眼看不到的.
      

  3.   

    为什么DateTime dt  dt没有时分秒呢?
      

  4.   

    DateTime dt = Convert.ToDateTime(date);  //现在这个dt里面是"2006-1-3"而不是这"2006-1-3 00:00:00"
    个人认为这个说法有问题,DateTime类中包含时分秒,所以用Convert.ToDateTime转换之后,dt就应该是2006-1-3 00:00:00ToString()是按照默认的方式显示为xxxx-x-x xx:xx:xx
    而dt.ToString("yyyy-MM-dd")是只将年月日按照xxxx-xx-xx的格式显示出来而已
      

  5.   

    MSDN中有,DateTime的成员包括DateTime 成员请参见
    DateTime 结构 | System 命名空间 | C++ 托管扩展编程 
    DateTime 概述公共字段公共属性
    Date 
    受 .NET Framework 精简版的支持。
     获取此实例的日期部分。 
    Day 
    受 .NET Framework 精简版的支持。
     获取此实例所表示的日期为该月中的第几天。 
    Hour 
    受 .NET Framework 精简版的支持。
     获取此实例所表示日期的小时部分。 
    Millisecond 
    受 .NET Framework 精简版的支持。
     获取此实例所表示日期的毫秒部分。 
    Minute 
    受 .NET Framework 精简版的支持。
     获取此实例所表示日期的分钟部分 
      

  6.   

    只是显示方式不同而已
    dt中还是yyyyMMddhhmmss的格式