.net 如何使用DateTime.TryParse将日期从yyyyMMdd格式转换为mm dd yyyy格式

.net 如何使用DateTime.TryParse将日期从yyyyMMdd格式转换为mm dd yyyy格式,.net,.net-3.5,.net,.net 3.5,我有一个字符串,其中包含yyyyMMdd格式的日期。我想把那个日期转换成 系统日期格式,使用ConvertTo.DateTime()方法或任何其他简单方法 我用过: string time = "19851231"; DateTime theTime= DateTime.ParseExact(time, Culture, DateTimeStyles.None, out resultDt); 它没有返回任何东西,事实上我对

我有一个字符串,其中包含yyyyMMdd格式的日期。我想把那个日期转换成 系统日期格式,使用
ConvertTo.DateTime()
方法或任何其他简单方法

我用过:

string time = "19851231";
DateTime theTime= DateTime.ParseExact(time,
                                    Culture, DateTimeStyles.None, out resultDt);
它没有返回任何东西,事实上我对文化信息感到困扰。我不知道它存在于哪种文化中

string format = "yyyyMMdd";
DateTime date = DateTime.ParseExact(input, format, 
                    CultureInfo.CurrentCulture, DateTimeStyles.None);
或多种日期格式:

string[] formats = {"yyyyMMdd", "dd/MM/yyyy"};
DateTime date = DateTime.ParseExact(input, formats, 
                    CultureInfo.CurrentCulture, DateTimeStyles.None);

几乎可以肯定,您应该指定
CultureInfo.InvariantCulture
——但目前代码看起来根本无法编译。。。看起来您正在尝试混合使用
ParseExact
TryParseExact
,并且您没有指定格式字符串

尝试:

或者如果要使用
TryParseExact

DateTime date;
bool success = DateTime.TryParseExact(time, "yyyyMMdd",
                                      CultureInfo.InvariantCulture,
                                      DateTimeStyles.None,
                                      out date);
只要用这个:

DateTime theTime = DateTime.ParseExact(time, "yyyyMMdd",
                                       CultureInfo.InvariantCulture);

嗨,同伴,谢谢你对这件事的引导。我需要这种日期格式的区域性本地id。我在运行时获取日期值。作为字符串time=“运行时值”;20110714 DateTime theTime=DateTime.ParseExact(时间、区域性、DateTimeStyles.None、out-resultDt);对于上面给定的代码,我使用了具有不同日期字符串的区域性,例如dd//mm/yyyy,但是在另一个场景中,它是yyyyMMdd格式的。因此,我对此类日期格式的区域性信息非常感兴趣。查找您的更新:)关于Sachin Kalia您应该查看:,您是在web还是应用程序场景中?如果您向用户询问日期,最好使用DateTime控件而不是文本框。
DateTime theTime = DateTime.ParseExact(time, "yyyyMMdd",
                                       CultureInfo.InvariantCulture);