解析DateTime字符串

Ear*_*rlz 3 c# string datetime parsing

我在使用DateTime.ParseExact解析DateTime字符串时遇到了一些困难.

    DateTime result;
    CultureInfo provider = CultureInfo.InvariantCulture;

    // Parse date-only value with invariant culture.
    //format = "mm/dd/yyyy";
format = "d";
    try
    {

        result = DateTime.ParseExact(data+" 12:00:00 AM", format, provider);
    }
Run Code Online (Sandbox Code Playgroud)

data是一个字符串变量,其日期格式为"5/20/2009".我尝试了一个假的时间只是为了看看它是否会起作用,但它没有(有或没有大头钉).我也尝试使用"g"格式说明符并且它不起作用,我总是得到它不是有效的DateTime字符串的异常.它适用的唯一日期是"12/20/2009"(请注意"MM"部分中的2位数字)

我不能让这个例程与单个数字月份一起工作!微软的MSDN自带的例子是

6/15/2009 1:45:30 PM -> 6/15/2009 (en-US)

它不适用于此.我只是不明白我做错了什么.我也尝试了自己的格式说明符,如"mm/dd/yyyy"和"MM/dd/yyyy",但无济于事.

dtb*_*dtb 6

如果要以en-US格式解析DateTime,则必须指定en-US文化:

DateTime.ParseExact("6/15/2009", "d", CultureInfo.GetCultureInfo("en-US"));
Run Code Online (Sandbox Code Playgroud)