如题,在.net中如何操作,我用string.Format("{0:yyyy-MM-dd}","19810702"),结果失败,哪位高手有更好的方法?

解决方案 »

  1.   

    str.Substring(0,4) +"/"+ str.Substring(4,2) + "/" + str.Substring(6)
      

  2.   

    pontus方法不太好,因为"19810702","198172"等随时会变,不通用
      

  3.   

    string str = "2004-8-11";
    DateTime dt = Convert.ToDateTime(str);
    dt.ToString("yyyy-MM-dd");
      

  4.   

    string str = "2004/8/11";
    DateTime dt = Convert.ToDateTime(str);
    dt.ToString("yyyy/MM/dd");
      

  5.   

    If s.Length = 8 Then
                    s = s.Insert(6, "/")
                    s = s.Insert(4, "/")
                End If
      

  6.   

    我也有同樣的問題,想用DateTime.Parse()  方法,也沒能實現.
      

  7.   


    Dim a As String = TextBox1.Text.ToString()       
     Label1.Text = a.Substring(0, 4) + "/" + a.Substring(4, 2) + "/" + a.Substring(6)
    这个是不管你在texbox1中输入什么YYYYMMD的数字都可以转化成YYYY/MM/DD的形式
      

  8.   


    string a  = txtBox1.Text.Substring(0, 4) + "/" + txtBox1.Text.Substring(4, 2) + "/" + txtBox1.Text.Substring(6);string.Format("{0:yyyy-MM-dd}",a);
    这样ok
      

  9.   

    谢谢大家,对我很有帮助,可是大家都用string来操作,效率会不会低,为什么不用stringBuilder类呢?
      

  10.   

    StringBuilder formatedStr=new StringBuilder( );
    formatedStr.Append(str.Substring(0,4));
    formatedStr.Append("/");
    formatedStr.Append(str.Substring(4,2));
    formatedStr.Append("/");
    formatedStr.Append(str.Substring(6));
      

  11.   

    share1011(萧萧1011),pontus(pontus),pwqzc(一帆--陕北吴旗娃徒弟也~~) ,你们的方法有逻辑错误,当用户输入198172时,返回1981/72/的错误结果。
      

  12.   

    楼主的问题在于,保存的数字不规范.
    如果上述数字是存放日期的话,那么,你必须按照一定的标准进行存放,比如以yyyymmdd的方式存放,而不能以yyyymd的方式.
    如果按照上述标准,那么,确实可以简单的用取字符串的方式转换为日期.
      

  13.   

    先转换成datetime,记得写个try,然后随便你怎么搞了