C#如何将不规则的日期和时间字符串转换为DateTime?

Jav*_*oob 3 c# time datetime

我有一个程序,它将不规则的日期和时间字符串转换为系统DateTime.

但是,由于系统无法识别不规则字符串,因此.ParseExact,toDateTime和TryParse方法无效.

程序需要转换的日期时间字符串只有两种:

 Thu Dec  9 05:12:42 2010
 Mon Dec 13 06:45:58 2010
Run Code Online (Sandbox Code Playgroud)

请注意,单个日期有一个双倍间距,我使用.replace方法将单个日期转换为Thu Dec 09 05:12:42 2010.

有人可以告知代码吗?谢谢!

代码:

        String rb = re.Replace("  ", " 0");

        DateTime time = DateTime.ParseExact(rb, "ddd MMM dd hh:mm:ss yyyy", CultureInfo.CurrentCulture);

        Console.WriteLine(time.ToString("dddd, dd MMMM yyyy HH:mm:ss"));
Run Code Online (Sandbox Code Playgroud)

Dar*_*rov 6

我真的会避免使用正则表达式并使用已经内置的.NET(TryParseExact方法和日期格式):

DateTime result;
string dateToParse = "Thu Dec  9 05:12:42 2010";
string format = "ddd MMM d HH:mm:ss yyyy";

if (DateTime.TryParseExact(
    dateToParse, 
    format,
    CultureInfo.InvariantCulture, 
    DateTimeStyles.AllowWhiteSpaces, 
    out result)
)
{
    // The date was successfully parsed => use the result here
}
Run Code Online (Sandbox Code Playgroud)