可能重复:
解析日期时间字符串
我正在尝试在 C# 中解析以下 DateTime:
string date = "Wed Jul 25 19:41:36 2012 +0200"
DateTime result = DateTime.Parse(date);
我收到以下错误:
System.FormatException : String was not recognized as a valid DateTime.
有人知道这里有什么问题吗?
你可以使用DateTime.ParseExact()
它。例如
更新:
string dateString = "Your date";
string format = "ddd MMM dd HH:mm:ss yyyy %K";
DateTime dateTime = DateTime.ParseExact(dateString, format,
CultureInfo.InvariantCulture);
Console.WriteLine(dateTime);
您需要指定解析格式,因为这是非标准的。DateTime.ParseExact
允许您指定格式。
像这样的东西会起作用,但是我还没有验证那个时区部分是否工作正常,似乎给了我一个 1800 小时的日期/时间......啊,这是因为我所在的地方是 BST(格林威治标准时间 + 1)。
static void Main(string[] args)
{
string date = "Wed Jul 25 19:41:36 2012 +0200";
string format = "ddd MMM dd HH:mm:ss yyyy %K";
//string format = "ddd MMM dd HH:mm:ss yyyy zzz"; // Also works.
DateTime dateTime = DateTime.ParseExact(date, format, CultureInfo.InvariantCulture);
Console.ReadLine();
}
DateTime
此处记录了字符串格式化选项,您可以使用这些的任意组合创建解析字符串以DateTime
成功解析。
另一个例子可以在这里找到:Parse DateTime From Odd Format