DateTime.ParseExact(String String IFormatProvider)

使用指定的格式和特定​​于区域性的格式信息将指定的日期和时间字符串表示形式转换为其 DateTime 等效形式。字符串表示的格式必须与指定的格式完全匹配。

将特定格式字符串转换为等效的 DateTime

假设我们有一个特定于文化的 DateTime 字符串 08-07-2016 11:30:12 PM 作为 MM-dd-yyyy hh:mm:ss tt 格式,我们希望它转换为等效的 DateTime 对象

string str = "08-07-2016 11:30:12 PM";
DateTime date = DateTime.ParseExact(str, "MM-dd-yyyy hh:mm:ss tt", CultureInfo.CurrentCulture);

将日期时间字符串转换为等效的 DateTime 对象,而不使用任何特定的文化格式

假设我们有一个 dd-MM-yy hh:mm:ss tt 格式的 DateTime 字符串,我们希望它转换为等效的 DateTime 对象,没有任何特定的文化信息

string str = "17-06-16 11:30:12 PM";
DateTime date = DateTime.ParseExact(str, "dd-MM-yy hh:mm:ss tt", CultureInfo.InvariantCulture);

将日期时间字符串转换为等效的 DateTime 对象,而不使用任何格式的特定文化格式

假设我们有一个日期字符串,例如'23 -12-2016’或'12 / 23/2016’,我们希望它转换为等效的 DateTime 对象,没有任何特定的文化信息

   string date =  '23-12-2016' or date = 12/23/2016';
   string[] formats = new string[] {"dd-MM-yyyy","MM/dd/yyyy"}; // even can add more possible formats.
   DateTime date = DateTime.ParseExact(date,formats, CultureInfo.InvariantCulture,DateTimeStyles.None);

注意:需要为 CultureInfo 类添加 System.Globalization