Convert.ToDateTime は、文字列に対して DateTime.Parse() を実行しています (23/03/2014)。デフォルトのカルチャ (en-US) では、そのカルチャの日付は MM/DD/YYYY の形式にする必要があるため、失敗します。MSDNごとに別のカルチャ (フランス語など) に切り替える必要があります。
// Reverse month and day to conform to the fr-FR culture.
// The date is February 16, 2008, 12 hours, 15 minutes and 12 seconds.
dateString = "16/02/2008 12:15:12";
try {
dateValue = DateTime.Parse(dateString);
Console.WriteLine("'{0}' converted to {1}.", dateString, dateValue);
}
catch (FormatException) {
Console.WriteLine("Unable to convert '{0}'.", dateString);
}
// Call another overload of Parse to successfully convert string
// formatted according to conventions of fr-FR culture.
try {
dateValue = DateTime.Parse(dateString, new CultureInfo("fr-FR", false));
Console.WriteLine("'{0}' converted to {1}.", dateString, dateValue);
}
catch (FormatException) {
Console.WriteLine("Unable to convert '{0}'.", dateString);
}
後で「ToString」を呼び出しても、解析の試行には何の影響もありません。解析の出力をフォーマットするだけです。