2012-04-27 5 views
0

クライアント側では、.NETフレームワークにプッシュされる文字列を検証しています。どの形式が有効で、.NET Frameworkによって認識されるかを知る必要があります。.NET MVCはDateTimeオブジェクトの1桁の日/月文字列を受け入れますか?

http://msdn.microsoft.com/en-us/library/1k1skd40.aspxは認識されたフォーマットを示していますが、すべての質問には答えられません。

日付: 1桁の日/月が有効ですか?
2桁の年は有効ですか?

時間: am/pmのフォーマットは有効ですか?表示できる文字列は次のとおりです。( 'a'、 'p'、 'a'、 'p'、 'am'、 'pm'、 'am'、 'pm')

答えて

4

1日/月、2桁の年を問わず問題なく使用できます。

これにはcustom format stringを使用する必要があります。

DateTime.ParseExact("9/1/12", "d/M/yy", 
        CultureInfo.InvariantCulture, 
        DateTimeStyles.None) 

あなたが複数のフォーマットをテストしたい場合は、2番目のパラメータとして書式指定文字列の配列を渡すことができます。

DateTime.ParseExact("9/1/12", new [] { "d/M/yy", "dd/MM/yyyy" } 
        CultureInfo.InvariantCulture, 
        DateTimeStyles.None) 
+1

素晴らしい!ちょうど私が探していた、見つけられなかった医者。うまくいけば、これは他の誰かが正しい方向に向いていることを望みます。 – Brian

+0

質問 - 上記のコードでも "dd/mm/yyyy" forrmatを受け入れるか、その柔軟性を扱うためにオペレータにロジックが必要なのでしょうか? – Brian

+1

@Brian - それはそのまま2桁の日と月を受け入れます。しかし、2番目のパラメータに_array_の書式文字列を指定すると、すべてがテストになります。別の例を掲載します。 – Oded

0

はい、DateTimeの構文解析機能は一桁の月と日を受け入れ、2 - 年の年。私は私の頭の上から "私"のための "a"について知らない。

しかし、私はここで気になるわけではありません。建設的な提案として、これは本当に意味します。これは、5行のテストプログラムを書くだけで、より迅速に答えることができる質問です。それを実行し、それをフォーラムに投稿するよりも何が起こるかを見てください。それからあなたは座って答えを待つ必要はないだけでなく、答えが正解であり、間違った答えを掲示したために時間を無駄にしないようにすることができます。

+0

十分なジェイ。質問に直接答えることはできませんが、私はあなたに同意します。次回はやります。 – Brian

関連する問題