C# 将日期的不同字符串格式转换为特定的日期时间格式
我在c#中的文件中有不同的日期字符串格式,如C# 将日期的不同字符串格式转换为特定的日期时间格式,c#,date,C#,Date,我在c#中的文件中有不同的日期字符串格式,如 2018-07-02T19:04:11.188-04:00 2018年6月15日//mm/dd/yyyy 2018年6月22日//dd/mm/yyyy 2018年6月4日//mm/dd/yyyy 我试着像这样改变信仰 string publishDate= "2018-07-02T19:04:11.188-04:00"; //string publishDate= "06/15/2018"; //string publishDate= "22/0
- 2018-07-02T19:04:11.188-04:00
- 2018年6月15日//mm/dd/yyyy
- 2018年6月22日//dd/mm/yyyy
- 2018年6月4日//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");
对于2018年6月15日<代码>而言,它表示<代码>字符串未被识别为有效的日期时间。代码>但是,它完美地将2018年6月22日<代码>转换为2018年6月22日
它将如何确定日期2018年6月4日
是否指mm/dd/yyyy
试试这段代码:)
通过你告诉它日期的格式。它有一些默认格式,但如果你有随机字符串,你必须告诉它它们的意思。你的问题是“它如何确定
04/06/2018
是指MM/dd/yyyy
还是dd/MM/yyyyy
”?(答案是,除非是在其他类似日期的背景下,否则你不能这样做。)
DateTime date;
if (!DateTime.TryParse(publishDate, out date)){
date = DateTime.ParseExact(publishDate, "MM/dd/yyyy", CultureInfo.InvariantCulture);
}