DateTime.ParseExact - 失败

Ric*_*ard 3 vb.net datetime

快速问题:我正在尝试将以下格式的日期解析为它们的等效DateTime数据类型,但由于某种原因它失败了.

字符串格式为:28/May/2009:17:43:04 +0000

或者:dd/MMM/yyyy:hh:mm:ss zz00

这是我正在使用的代码:

Dim provider As New CultureInfo("en-US")
Dim d As DateTime = DateTime.ParseExact(value, "dd/MMM/yyyy:hh:mm:ss zz00", provider)
Run Code Online (Sandbox Code Playgroud)

但是,这会产生FormatException.

仅供参考:我也尝试将InvariantCulture用于ParseExact的provider参数,但无济于事.

任何指针都将非常感激; 这是星期五,我的大脑已经入睡了!:)

谢谢!

Jon*_*eet 15

你想要格式字符串中的"HH"(24小时格式)而不是"hh"(12小时格式):

using System;
using System.Globalization;

public class Test
{
    static void Main()
    {
        var provider = new CultureInfo("en-US");
        // Doesn't throw
        var d = DateTime.ParseExact("28/May/2009:17:43:04 +0000", 
                                    "dd/MMM/yyyy:HH:mm:ss zz00",
                                    provider);
    }    
}
Run Code Online (Sandbox Code Playgroud)


Aak*_*shM 8

hh是12个小时的小时.你想要的HH.