私はこの問題を完全に克服しています。限り、私はドキュメントと他の記事を参照してくださいすることができますので、これは動作するはずだと読んでいる。私は何か愚かな行方不明にする必要がありますが、私はそれを見ることができません。DateTime.ParseExact FormatException文字列が有効なDateTimeとして認識されませんでした
「文字列が有効なDateTimeとして認識されませんでした」というメッセージでFormatExceptionが発生します。次のコード行に:
return DateTime.ParseExact(value, DateFormat, null,
DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal);
value
"11/04/2013"
DateFormat
ある現在の文化は私がDateTimeStyles
のが、効果なしに、様々なバリエーションを試してみたen-GB
- ある
"dd/MM/yyyy"
- です。
私の本来の目的は、形式ddd, dd/MMM/yyyy
のためだったが、それはうまくいきませんでしたどちらか(そのインスタンスの値がTue, 30/Apr/2013
た)
は私もnew CultureInfo("en-GB")
に渡すことによって、エンGBに文化を強制的に試してみました代わりに、私はまた、環境に関する異なるがあったかどうかを確認するために、自身のコンソールアプリケーションにコードを抽出null
(ASP.NET MVC 3)
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
var DateFormat = "dd/MM/yyyy";
var value = "30/04/2013";
var culture = new CultureInfo("en-GB");
var result = DateTime.ParseExact(value, DateFormat, culture,
DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal);
Console.WriteLine("\"{0}\" as \"{1}\" ==> {2}", value, DateFormat, result);
Console.ReadKey();
}
}
}
の
それでも私には同じエラーが表示されます。いくつかの文化以外のセパレータを使用しているため
コンソールアプリケーションが私に役立ちます。私のマシンのデフォルトの文化: "de-DE" –
私の同僚のうちの2人は、彼らのためにもうまくいっていると言います。しかし、私のマシンは違うように頼みます。私のインストールが壊れている可能性があります。どのように - 他のコードが正常に動作しているかわかりません。 –
マシン上の 'Thread.CurrentThread.CurrentCulture'と' Thread.CurrentThread.CurrentUICulture'の値は何ですか? –