现在有个字符串“2008-1-19”怎么转换为DateTime类型,转换后不要自动添加时分秒,要还是2008-1-19。另外,如果一个DateTime类型的数据 2008-1-19 10:30:20 怎么截取其前面的2008-1-19部分作为新的DateTime数据。

解决方案 »

  1.   

    直接转DateTime,然后取他的Date属性就可以了
      

  2.   

    Convert.ToDataTime(str).ToString("yyyy-MM-dd");
      

  3.   

    DateTime.Parse
    其实后面的时间无所谓的,大不了显示的时候不显示出来就行了,DateTime有很多To**String的方法的
      

  4.   

    Convert.ToDataTime(str).ToString("yyyy-MM-dd");
      

  5.   

    DateTime.TryPaseDateTime类型必定包含时间值...你要不要只是显示问题而已...
      

  6.   

    DateTime.TryParse(string s,out DateTime result)
      

  7.   


    /*1*/ DateTime date = DateTime.Parse("2008-1-19");
    /*2*/ Console.WriteLine(date.ToShortDateString());
    /*3*/ DateTime newdate = DateTime.Parse(date.ToShortDateString());
    /*4*/ Console.WriteLine(newdate.ToString("yyyy-M-dd"));
      

  8.   

    你说的第一个问题是解决不了的吧,
    第二个问题用ToShortDateString就可以了。
      

  9.   

    确实,用DateTime.Para(str)的话,无论str是否带时间,得到的DateTime值都是带时间的,
    要单纯得到一个类似2008-01-19这样的DateTime值不能实现么?
      

  10.   

    net  DateTime.Now.ToString("yyyy-MM-dd");
    sql  convert(varchar(10),getdate(),12)
      

  11.   

    net  DateTime.Now.ToString("yyyy-MM-dd");
    sql  convert(varchar(10),getdate(),120)
    sorry 改120
      

  12.   

    Convert.ToDataTime(str).ToString("yyyy-MM-dd");
      

  13.   

    Convert.ToDataTime(str).ToString("yyyy-MM-dd");
      

  14.   

    DataTime.Now.ToString("yyyy-MM-dd");
    Convert(char(10),getdate(),120)