我完全難住這一個。據我所看到的文件和其他職位,我讀過,說這應該工作。我必須錯過一些愚蠢的東西,但我看不到它。DateTime.ParseExact FormatException字符串未被識別爲有效的日期時間
我得到一個FormatException消息「String未被識別爲有效的DateTime」。在下面的代碼行:
return DateTime.ParseExact(value, DateFormat, null,
DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal);
value
是"11/04/2013"
DateFormat
是"dd/MM/yyyy"
- 目前的文化是
en-GB
- 我試過的
DateTimeStyles
各種變種,但沒有效果。
我的原意是爲格式ddd, dd/MMM/yyyy
但沒有工作,要麼(在該實例的值Tue, 30/Apr/2013
)
我還試圖通過傳遞new CultureInfo("en-GB")
迫使文化爲en-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」 – 2013-04-09 11:09:26
我的兩位同事說它也適用於他們。但我的機器不同。也許我的安裝已損壞。不知道如何 - 其他代碼工作正常。 – 2013-04-09 11:10:35
你的機器上的'Thread.CurrentThread.CurrentCulture'和'Thread.CurrentThread.CurrentUICulture'值是什麼? – 2013-04-09 11:12:06