DateTime.Parseはで失敗します
15/08/2000 16:58
何かご意見は?
日付を解析して、国際的なものを取得する必要があります。
DD / MM/YYYYは24時間制にフロップしません
MM / DD/YYYYは24時間制を受け入れます
15/08/20004:58PMは解析します
Kibbeeの回答から、他の文化を使用することを検討しました。正規表現を使用して、それがdd / MMであるかどうかを判断し、そうである場合は、カルチャfr-FRを使用します。
試してみてくださいDateTime.ParseExact():
var result = DateTime.ParseExact(dateString,
"dd/MM/yyyy HH:mm",
new CultureInfo("en-US"));
日付が予想される正確な形式がわかっている場合は、おそらくDateTime.ParseExactを使用して日付を解析する必要があります。目的に応じて、次のように機能する可能性があります。
string dateString, format;
DateTime result;
CultureInfo provider = CultureInfo.InvariantCulture;
dateString = "15/08/2000 16:58"
format = "dd/MM/yyyy HH:mm"
result = DateTime.ParseExact(dateString, format, provider);
上記に変更します。HHは24時間制を意味するため、hhをHHに変更しました。先行ゼロを使用しない場合は、単にHを使用します。フォーマット文字列の作成の詳細については、この記事を参照してください。
また、リンクされたMSDNの記事から、「g」の形式が機能するように見えます。
dateString = "15/06/2008 08:30";
format = "g";
CultureInfo provider = new CultureInfo("fr-FR");
DateTime result = DateTime.ParseExact(dateString, format, provider);