将任何DateTime字符串格式转换为美国短日期" MM-dd-yyyy"

时间:2018-01-23 09:22:48

标签: c# datetime datetime-format

我在这里写一个通用代码,将任何提供的有效date / datetime格式转换为美国短日期格式

以下是我正在尝试的代码:

public static string ConvertToUSDateFormat(string dateString)
{
      string[] formats = {"dd/MM/yyyy", "dd-MMM-yyyy", "yyyy-MM-dd","yyyy-MM-dd hh:mm:tt", "dd-MM-yyyy hh:mm:tt", "M/d/yyyy", "dd MMM yyyy","dd/MM/yyyy hh:mm:tt", "MM-dd-yyyy hh:mm:tt", "dd-MM-yyyy h:mm:tt"};
      string convertedDate = DateTime.ParseExact(dateString, formats, CultureInfo.InvariantCulture, DateTimeStyles.None).ToString("MM/dd/yyyy");
      return convertedDate;
}

我为此方法提供的输入 19-01-2018 10:55:52

但是这段代码引发了错误:字符串未被识别为有效的DateTime。

1 个答案:

答案 0 :(得分:1)

"19-01-2018 10:55:52"

符合格式数组中不存在的以下格式。

"dd-MM-yyyy hh:mm:ss"