c# - 将各种类型的日期时间转换为dd/mm/yyyy
问题描述
我在视觉 c# 中面临不同的问题。我正在将一些数据从 excel 导入 C#,这些 Excel 文件来自不同的位置。
某些 excel 文件的日期是字符串格式,而在某些文件中,日期是日期格式。在该数据中,有一列是日期。他们在那里以不同的格式输入日期。
例如,有些输入格式为dd/mm/yyyy
(01/10/2011),有些输入dd.mmm.yyyy
(01.oct.2011),有些输入yyyy.mm.dd
(2011.10.01) 等等。
所以我想将所有日期格式转换为dd/mm/yyyy
Visual c#。如果日期只是字符串格式或我可以的任何其他单一格式。但是这里的输入记录有各种格式。
解决方案
您应该将日期格式添加到您的应用程序配置文件中
<appSettings>
<add key="FormatsDate" value="MM/dd/yyyy;yyyy-MM-dd;dd.MM.yyyy;dd/MM/yyyy" />
<add key="CultureInfoName" value="en-GB" />
</appSettings>
并在你的代码中使用它
string[] dateFormats = System.Configuration.ConfigurationSettings.AppSettings["FormatsDate"].ToString().Split(';');
string cultureInfoName = System.Configuration.ConfigurationSettings.AppSettings["CultureInfoName"].ToString();
DateTime date1 = DateTime.ParseExact("Value From excel column", dateFormats, new CultureInfo(cultureInfoName), DateTimeStyles.None);