2011-10-27 19 views
1

変換する必要があり、DateTimeに検証する必要がある文字列があります。文字列は、私は、次のDateTimeの形式C#

string format = "dd.mm.yy"; 
date = DateTime.ParseExact(current.Substring(aiRule.AiLength), format, 
              CultureInfo.InvariantCulture); 

が、残念ながら、これは失敗を使用してのDateTimeに変換しようとしています次の形式「DD.MM.YY」 です。 質問は 'dd.mm.yy'という形式の文字列をDateTimeに変換する方法です。 ありがとうございます

+0

あなたが入力文字列との結果が示すことができますか? –

+0

原則として、「Xが失敗する」と言っても、あなたを助けてくれる人々は役に立ちません。具体的にする - 入力、期待される出力、実際の出力、エラーメッセージの例を挙げてください。 –

答えて

11

mmは「分」を意味します。私はあなたが"dd.MM.yy"が欲しいと思う。 custom date and time format stringsの詳細については、MSDNを参照してください。

(特に、 "yy" specifierに関する部分を読んで、それを使用する世紀選択する方法。あなたはおそらく4桁の年を使用するための入力を変更することができる場合、それはあなたにいくつかの問題を救うことができる...)

0

私は何かを "異端"と言うでしょう。 dd.MM.yy(2つまたは4つのyy)があなたの地元の文化の形式である場合、CultureInfo.InvariantCultureに設定しないでDateTime.ParseParseExact!ではなく)に設定したり、おそらくnew CultureInfo("it-IT")のようなローカルカルチャに設定することができます。

0

文字列の形式は次のようにする必要があります....

string Format = "dd.MM.yy" 


mm is for showing minutes 

MM is for showing months.. 

が、私は以前の記事として

0

がすでに指摘している...それは意志があなたを役に立てば幸い、mmは分を意味し、MMは、数ヶ月意味します。 current.Substring(aiRule.AiLength):私は、このテスト・スニペットを実行し、期待どおりに動作します:

string format = "dd.MM.yy"; 
string date = "27.10.11"; 
DateTime result; 
result = DateTime.ParseExact(date, format, CultureInfo.InvariantCulture);