C# 将异常DateTime字符串转换为DateTime对象

C# 将异常DateTime字符串转换为DateTime对象,c#,string,datetime,date-conversion,C#,String,Datetime,Date Conversion,我正在处理一个日志文件,该文件给我一个日期字符串,如下所示: 09/Feb/2012:00:38:48 我在网上看了很多关于转换日期的页面,比如,但是没有一个页面显示的日期和这个日期完全一样 我是否需要手动重新格式化字符串,使其看起来类似于: 2012-02-09T00:38:48.0000000 或者有没有办法将其转换为实际格式?您可以使用它将字符串从指定的任何格式解析为日期时间。下面有大量的例子。正如AdaTheDev所说,这是前进的方向。根据上的MSDN页面,您希望缩写月份名称为MMM

我正在处理一个日志文件,该文件给我一个日期字符串,如下所示:

09/Feb/2012:00:38:48
我在网上看了很多关于转换日期的页面,比如,但是没有一个页面显示的日期和这个日期完全一样

我是否需要手动重新格式化字符串,使其看起来类似于:

2012-02-09T00:38:48.0000000
或者有没有办法将其转换为实际格式?

您可以使用它将字符串从指定的任何格式解析为日期时间。下面有大量的例子。

正如AdaTheDev所说,这是前进的方向。根据上的MSDN页面,您希望缩写月份名称为MMM

using System;
using System.Globalization;

class Test
{
    static void Main() 
    {
        string text = "09/Feb/2012:00:38:48";
        DateTime value;
        if (DateTime.TryParseExact(text, "dd/MMM/yyyy:HH:mm:ss",
                                   CultureInfo.InvariantCulture,
                                   DateTimeStyles.None,
                                   out value))
        {
            Console.WriteLine("Success! {0}", value);
        }
        else
        {
            Console.WriteLine("Failed");
        }
    }
}
请注意
CultureInfo.InvariantCulture的用法-看起来您不应该使用当前区域性作为示例


(当然,您可以使用;)

@MordecaiX7:您需要MMM-参见我的示例。根据您的情况,使用代表简写月份名称的MMM。在这里查看格式化选项的完整参考:啊,我没有意识到我可以告诉解析器日期的格式是什么。谢谢