将日期的不同字符串格式转换为特定的DateTime格式

时间:2018-07-04 04:41:03

标签: c# date

我在c#中的文件中日期的字符串格式不同,例如;

  • 2018-07-02T19:04:11.188-04:00
  • 06/15/2018 // mm / dd / yyyy
  • 22/06/2018 // dd / mm / yyyy
  • 04/06/2018 // mm / dd / yyyy

我正在尝试这样转换,

string publishDate= "2018-07-02T19:04:11.188-04:00";
//string publishDate= "06/15/2018";
//string publishDate= "22/06/2018";

DateTime date = DateTime.Parse(publishDate);
return date.ToString("dd-MMM-yyyy");

对于06/15/2018,它表示String was not recognized as a valid DateTime.,但是它将22/06/2018完美地转换为2018年6月22日。

以及如何确定日期04/06/2018是否指向mm/dd/yyyy

1 个答案:

答案 0 :(得分:1)

尝试这段代码:)

DateTime date;

if (!DateTime.TryParse(publishDate, out date)){
    date = DateTime.ParseExact(publishDate, "MM/dd/yyyy", CultureInfo.InvariantCulture);
}