另一个DateTime.ParseExact问题

时间:2010-10-05 17:45:10

标签: c# .net datetime

我有以下代码。

using System;
using System.Globalization;

   class testCompile
    {
        static void Main(string[] args)
        {
            CultureInfo provider = CultureInfo.InvariantCulture;
            string format = "mm/d/yyyy";
            string strInput = "11/5/2010";
            string strOutput = DateTime.ParseExact(strInput, format, provider).ToString();
            Console.WriteLine("string Looks Like : {0}", strOutput);
        }
    }

1)如果我尝试将格式设置为“mm / dd / yyyy”,则上述代码会在运行时抛出错误。

2)上面的代码我得到了1/5/2010 12:11:00 AM的输出。

上午12:00:00的确切来自哪里?

Guy Fawkes Day如何变为1月5日?

有人可以解释一下发生了什么吗?

3 个答案:

答案 0 :(得分:4)

mm表示分钟; MM意味着数月。

答案 1 :(得分:4)

1)由于您没有指定时间,因此它使用默认值12:00:00 AM。

2)您需要使用“MM”来指定格式字符串中的月份,而不是“mm”(分钟)。有关您可以处理的所有详细信息,请参阅Custom Date and Time Format Strings

答案 2 :(得分:3)

月份应为大写MMM

有关完整参考,请参阅Custom Date and Time Format Strings