首页 > 解决方案 > 将各种类型的日期时间转换为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/yyyyVisual c#。如果日期只是字符串格式或我可以的任何其他单一格式。但是这里的输入记录有各种格式。

标签: 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);

推荐阅读