2011-10-18 3 views
0

オーストラリアのタイムゾーンで働いています。パース・エグザクトで試してみると、例外が発生します。この問題を解決するにはどうすればいいですか。オーストラリアのタイムゾーンで働くソリューションが必要です。DateTime.Parse Issueオーストラリアのタイムゾーン

DateTime fdt = DateTime.ParseExact(FromDate, "MM/dd/yyyy", null) 
+2

オーストラリアは、一般的に「DD/MM/YYYY」形式を使用しています。あなたの 'FromDate'テキストはどのように見えますか? – Enigmativity

+0

例外がスローされ、解析しようとしている値は何ですか? 「DateTime.ParseExact」は、私が知っている限り、あなたが使用するフォーマットを指定しない限り、タイムゾーンをまったく使用しないことに注意してください。 –

+0

例外はありますか?なぜ文化は「ヌル」ですか? –

答えて

0

あなたは「MM/DD/YYYY」のようなフォーマッタを使用している場合は、解析が時間帯であなたの中には何の関係もありません。それはちょうど日付を解析するために、フォーマッタからの形式を使用します。この場合Month/days/year

+0

オーストラリアのタイムゾーンを追加することによってこのコードを変更する方法 – user731060

+1

フォーマット文字列を使用しない場合、現在のスレッドからカルチャ設定が使用されます。しかし、あなたは "dd/MM/yyyy"のようなフォーマット文字列を探していると思います。 – Peter

+0

私もSystem.Globalization.CultureInfoプロバイダーを試しました= System.Globalization.CultureInfo.InvariantCulture; String format = "M/dd/yy"; fdt = DateTime.ParseExact(FromDate、 "MM/dd/yy"、null); その時にも私は受け入れを受けています {"System.Globalization.GregorianCalendarのカレンダーでは、文字列で表されるDateTimeはサポートされていません。"} – user731060

0

ParseExactメソッドのnull IFormatProviderパラメータ値に渡す限り、DateTimeFormatInfo.CurrentInfo値を使用して日付文字列を解析してみます。あなたのマシンカルチャーが '/'(つまりドット文字)と異なるDateTimeFormatInfo.DateSeparatorを持つ場合、日付区切り記号としてスラッシュを使用する日付文字列は解析できません。これを使用する

試してみてください。DateTime.ParseExact("10/30/11", "MM/dd/yy", CultureInfo.InvariantCulture);またはあなたがオーストラリアの形式でこの文字列は、あなたがこれを使用することを確実に知っている場合:DateTime.ParseExact("10/30/11", "MM/dd/yy", CultureInfo.GetCultureInfo("en-AU"))

関連する問題