最近发现香港的日期是这样的:22-09-2011  也就是dd-MM-YYYY.
我想转换成2011-09-22,用如下代码出错Convert.ToDateTime("22-09-2011").ToString("yyyy-MM-dd")原因好像ToDateTime不识别这样的格式,只识别09-22-2011这样的格式。

解决方案 »

  1.   

    DateTime.ParseExact("22-09-2011","dd-MM-yyyy",null).ToString("yyyy-MM-dd")
      

  2.   

    或者
    string temp = "";
    "22-09-2011".Split("-".ToCharArray()).Reverse().ToList().ForEach(s => temp += s+"-");
    Console.WriteLine(temp.TrimEnd("-".ToCharArray()));
      

  3.   

    try...string test = "22-09-2011";
    DateTime dt;
    if(DateTime.TryParseExact(test, "dd-MM-yyyy", null, DateTimeStyles.None, out dt))
    {
        richTextBox2.Text = dt.ToString("yyyy-MM-dd");
    }
      

  4.   

    原来无牙已经回了
    其实对于这种简单的转换,方法很多,而且基本上也不涉及到效率的问题string test = "22-09-2011";
    string result = Regex.Replace(test, @"\b(\d{2})-(\d{2})-(\d{4})\b", "$3-$2-$1");
    richTextBox2.Text = result;