20110508231832   年月日时分秒还有如果字符串是这样的201158231532 年和月没有0 不像上面的是05 08的
这两种有啥办法

解决方案 »

  1.   

    DateTime.Now.ToString("yyyyMMddhhmmss");
      

  2.   

    第二:
    DateTime.Now.ToString("yyyyMdhhmmss");
      

  3.   

    LZ说的是把字符串转换成日期,不是日期转换成字符串~~~~~~~~~
    不过LZ可以按LS的格式生成统一的字符串...可以按位数截取拼接后,再转换成日期格式....不同字符串...判断一下长度做截取...20110508231832.Substring(1,4)..年
    20110508231832.Substring(5,2)..月
    20110508231832.Substring(7,2)..日
    .
    .
    .
      

  4.   

    我不是把现在的时间转,我是要把我给定的字符串转  现在他可能是yyyyMMddhhmmss yyyyMdhhmmss这两种格式
      

  5.   

    比如第一种时间 2011 05 08 09 06 03 即使是小于10的月 日时分秒 也写成两位的  很好办
    Substring(1,4) 就行。 第二种情况 2011 5 8  9    6    3  
                      2011 5 18 9    6    3 
                      2011 5 18 12 32 18 
                      2011 1  11  12 32 18 
    看到没 这种表示的方法长度太不确定了   2011 1  11  12 32 18  像这种连月份都很难判断!
      

  6.   

    加个判断呀~~if(str.length==14)
    {
    20110508231832.Substring(1,4)..年
    20110508231832.Substring(5,2)..月
    20110508231832.Substring(7,2)..日
    }
    else if(str.length==12)
    {
    201158231832.Substring(1,4)..年
    201158231832.Substring(5,1)..月
    201158231832.Substring(6,1)..日
    }
      

  7.   

    LZ从源头抓起吧...生成字符串时,采用统一的格式...为什么要用那么多格式呢如果方便直接用日期存储,string或用datetime.tostring(yyyy-MM-dd HH:mm:ss)
      

  8.   

    第一种:            string str1 = "20110508231832";
                DateTime dt1 = DateTime.ParseExact(str1, "yyyyMMddHHmmss", null);
                Console.WriteLine(dt1.ToString("yyyy-MM-dd HH:mm:ss"));
    第二种没有办法,因为比如2011111231832
    到底是1月11日还是11月1日无法知晓