如何转换二月192015,22:19:50到2/19/2015 22:19:50在C#

本文关键字:何转换 2015 192015 二月 转换 | 更新日期: 2024-06-14 10:41:20

如何在C#中将Feb 19, 2015,22:19:50转换为2/19/2015 22:19:50

我试过类似以下的东西

DateTime dateTime = DateTime.ParseExact("Feb 19, 2015,22:19:50",
                                        "MMM dd, yyyy;HH:mm:ss",
                                        CultureInfo.InvariantCulture);

但我得到以下错误

mscorlib.dll中首次出现"System.FormatException"类型的异常。其他信息:字符串未被识别为有效的DateTime。"

如何转换二月192015,22:19:50到2/19/2015 22:19:50在C#

首先,您的字符串和格式与不完全匹配。在字符串中,年份和小时之间有一个逗号,但在格式中有一个分号。当您使用DateTime.ParseExactDateTime.TryParseExact方法进行自定义解析时,您的字符串和格式必须根据您使用的IFormatProvider完全匹配。

在正确解析字符串后,可以使用.ToString()方法和M/dd/yyyy HH:mm:ss格式对其进行格式化,并且区域性可以像InvariantCulture一样将/作为DateSeparator,将:作为TimeSeparator

string s = "Feb 19, 2015,22:19:50";
DateTime dt;
if(DateTime.TryParseExact(s, "MMM dd, yyyy,HH:mm:ss", CultureInfo.InvariantCulture,
                          DateTimeStyles.None, out dt))
{
   Console.WriteLine(dt.ToString("M/dd/yyyy HH:mm:ss", CultureInfo.InvariantCulture));
   // 2/19/2015 22:19:50
}

这里是演示