如果我的传入date格式是YYYYMMDD,则在.NET中将string转换为date

如果我的传入date格式是YYYYMMDD那么在C#中将string转换为date的最佳方法是什么?

例如: 20001106

使用DateTime.ParseExact()。 就像是:

  string date = "20100102"; DateTime datetime = DateTime.ParseExact(date, "yyyyMMdd", CultureInfo.InvariantCulture); 
  DateTime.TryParseExact(myDateString, "yyyyMMdd", CultureInfo.InvariantCulture, DateTimeStyles.None, out myDateVar ) 

检查DateTime.ParseExact或DateTime.TryParseExact 。

如果使用.NET 2.0或更高版本,请使用带有"yyyyMMdd"模式string的DateTime.TryParseExact 。

如果你坚持.NET 1.1使用DateTime.ParseExact

请参阅标准date时间格式string以了解制作模式string的规则。

 DateTime yourDateTime = DateTime.ParseExact(yourString, "yyyyMMdd", null); 

使用TryParseExact通常比ParseExact更好,因为如果转换失败,它不会抛出exception。 相反,如果成功则返回true,否则返回false。

 DateTime dt; if (DateTime.TryParseExact("20100202", "yyyyMMdd", CultureInfo.InvariantCulture, DateTimeStyles.None, out dt)) { Console.WriteLine(dt.ToString()); }