将DateTime解析为通用时间C#

San*_*nor 2 c# datetime .net-3.5

我有一个xml可以返回格式的时间(2013年7月23日下午4:00)我的问题是:我如何向DateTime.ParseExact解释我在"上午"或"下午"?我有这段代码,但它返回一个异常(String无法解析)

我alredy放置了一个示例字符串(2013年7月23日下午4:00),其中我将"pm"替换为空链"".

string pattern = "MM/dd/yyyy H:mm 'UTC' zzz";
DateTime time = DateTime.ParseExact(sb.ToString(), pattern, CultureInfo.InvariantCulture,
                                                      DateTimeStyles.AssumeUniversal |
                                                      DateTimeStyles.AdjustToUniversal);
Run Code Online (Sandbox Code Playgroud)

非常感谢你 :)

LUK*_*UKE 6

您可以传递数组以涵盖各种格式.我使用以下内容进行各种时间输入.

var formats = new[] 
    {
        "M/dd/yyyy hh:mm tt",
        "M/dd/yyyy hh:mmtt",
        "M/dd/yyyy h:mm tt",
        "M/dd/yyyy h:mmtt",
        "M/dd/yyyy hhtt",
        "M/dd/yyyy htt",
        "M/dd/yyyy h tt",
        "M/dd/yyyy hh tt"
    };

    var date = "7/23/2013 4:00pm";

    DateTime time = DateTime.ParseExact(date, formats, CultureInfo.InvariantCulture,
                                                  DateTimeStyles.AssumeUniversal |
                                                  DateTimeStyles.AdjustToUniversal);
Run Code Online (Sandbox Code Playgroud)