2009-06-12 1 views
3

簡単な質問:次の形式の日付を同等のDateTimeデータ型に解析しようとしていますが、何らかの理由で失敗しています。DateTime.ParseExact - 失敗

文字列の形式は次のとおりです。28 /月/ 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) 

しかし、それはFormatExceptionを生成します。

FYI:ParseExactのプロバイダパラメータには、InvariantCultureを使用してみましたが、無駄にしました。

いずれのポインタも非常に高く評価されます。金曜日、私の脳は眠りについた! :)

ありがとう!

答えて

15

あなたのフォーマット文字列ではなく、 "HH" よりも "HH"(24時間形式)(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); 
    }  
} 
+0

Arrrgh!どうやら私はFormatBlindに行きました。 :)私のriduclously明らかな間違いを指摘し、私の元、幸せ、金曜日の感情を復元してくれてありがとう! – Richard

8

hhは12時間制で時間です。あなたはHHが欲しいです。