网上看到的DateTime.TryParse(s, out dt)例子,一般是对YY-MM-DD的格式有效。这好像是默认的吧?现在我想让它能对MM-DD—YY也能转换。怎么办?例如:
DateTime dt;
DateTime.TryParse("02-01-09", out dt);
默认的情况会得到:02年1月9号;我想得到09年2月1号

解决方案 »

  1.   

    public static bool TryParse (
        string s,
        IFormatProvider provider,
        DateTimeStyles styles,
        out DateTime result
    )
     怎么用MSDN没有详细的说明,郁闷!
      

  2.   

    DateTime dt = DateTime.ParseExact("02-01-09","MM-dd-yy",null);
      

  3.   


    DateTime.TryParse("02-01-09", System.Globalization.DateTimeFormatInfo.InvariantInfo, System.Globalization.DateTimeStyles.None, out dt)
      

  4.   

    DateTime dt;
    IFormatProvider format = new CultureInfo( "en-US");
    DateTime.TryParse("02-01-09", format, DateTimeStyles.None, out dt);
      

  5.   

    能顺便讲讲下面的吗?跟你多学点,谢谢.
    public static bool TryParse ( 
        string s, 
        IFormatProvider provider, 
        DateTimeStyles styles, 
        out DateTime result 

      

  6.   

    DateTime.TryParse("01-Aug-08", System.Globalization.DateTimeFormatInfo.InvariantInfo, System.Globalization.DateTimeStyles.None, out dt)
    会出错!~
      

  7.   

    查明白了原因:因为在excel里填写20-Jun-08,读到内存就变成了20/六月/08还是解决不了将20/六月/08这种形式的转换~
      

  8.   

    看了http://msdn.microsoft.com/zh-cn/library/1ad4d8d6(VS.80).aspx
    写了如下代码:
                    Microsoft.Office.Tools.Excel.NamedRange NamedRange1 =this.Controls.AddNamedRange(this.get_Range("A1", missing), "NamedRange1");                object value = NamedRange1.Value2;                if (value != null)
                    {
                        if (value is double)
                        {
                            dtValue = DateTime.FromOADate((double)value);
                        }
                        else
                        {
                            DateTime.TryParse((string)value, out dtValue);
                        }
                    }出错!~求助!
      

  9.   

    上面给你例子你也不详细的看~~~~~
    配合CultureInfo以及Format来格式化你的日期 DateTime dt; 
    DateTime.TryParseExact("01/六月/09","dd/MMM/yy", new CultureInfo("zh-CN"), DateTimeStyles.None,out dt); 具体参考CultureInfo类 
    http://msdn.microsoft.com/zh-cn/library/system.globalization.cultureinfo(VS.80).aspx 
    以及http://msdn.microsoft.com/en-us/library/aa326719(VS.71).aspx
      

  10.   


    DateTime dt;
    DateTime.TryParseExact("01/六月/09", "dd/MM/yy", new CultureInfo("zh-CN"), DateTimeStyles.None, out dt); 结果是:0001-1-1 0:00:00
    这不对~
      

  11.   


    DateTime dt;
    DateTime.TryParseExact("20/六月/08", "dd\\/MMM\\/yy", new CultureInfo("zh-CN"), DateTimeStyles.None, out dt);
    MessageBox.Show(dt.ToString("yyyy-MM-dd"));