如果我的传入日期格式为YYYYMMDD,则将字符串转换为.NET中的日期

时间:2010-02-02 23:35:31

标签: c# .net datetime

如果我的传入日期格式在YYYYMMDD

,则在C#中将字符串转换为日期的最佳方法是什么?

例如:20001106

6 个答案:

答案 0 :(得分:56)

使用DateTime.ParseExact()。类似的东西:

   string date = "20100102";
   DateTime datetime = DateTime.ParseExact(date, "yyyyMMdd", CultureInfo.InvariantCulture);

答案 1 :(得分:11)

 DateTime.TryParseExact(myDateString, "yyyyMMdd", 
                         CultureInfo.InvariantCulture, 
                         DateTimeStyles.None, out myDateVar )

答案 2 :(得分:4)

答案 3 :(得分:4)

如果您使用的是.NET 2.0或更高版本,请使用DateTime.TryParseExact模式字符串"yyyyMMdd"

如果您坚持使用.NET 1.1,请使用DateTime.ParseExact

请参阅Standard DateTime Format Strings了解制作模式字符串的规则。

答案 4 :(得分:3)

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

答案 5 :(得分:3)

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

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