C# 如何在C中检查日期是否为mm/DD/yyyy格式#

C# 如何在C中检查日期是否为mm/DD/yyyy格式#,c#,.net,datetime,C#,.net,Datetime,如何检查日期是否为mm/DD/yyyy格式?注意:我假设您询问字符串是否为“mm/DD/yyyy”格式的有效日期。DateTime本身没有格式,因此无法检查该格式 用于尝试对其进行分析: string text = "02/25/2008"; DateTime parsed; bool valid = DateTime.TryParseExact(text, "MM/dd/yyyy", CultureInfo.Invari

如何检查日期是否为mm/DD/yyyy格式?

注意:我假设您询问字符串是否为“mm/DD/yyyy”格式的有效日期。
DateTime
本身没有格式,因此无法检查该格式

用于尝试对其进行分析:

string text = "02/25/2008";
DateTime parsed;

bool valid = DateTime.TryParseExact(text, "MM/dd/yyyy",
                                    CultureInfo.InvariantCulture,
                                    DateTimeStyles.None,
                                    out parsed);
请注意,我已将您的格式字符串更改为我认为您的意思-例如,我怀疑您是否真的将第一位改为分钟


如果不需要固定区域性,请指定另一个:)

我要创建一个方法,在该方法中,我可以检查我的日期是否为mm/DD/yyy格式。如果为true,那么我将进行一些验证,否则请离开。@saurav2109:当然,所以按照我的建议使用DateTime.TryParseExact。我现在为您编写了一个代码示例。或者可以使用正则表达式,尽管它很容易出错。所以DateTime.TryParseExact是一个更好的方法。@Dmitry:一个能正确处理闰年(不包括1900年,包括2400年等)的正则表达式会很糟糕:)+1-这也是我知道的最好的方法。请注意,您无法确定用户提供的
“01/02/2011”
值是MM/dd/yyyy(2011年1月2日)还是dd/MM/yyyy(2011年2月1日),因为这两个值都将被成功解析。但这很可能是一个小问题,取决于上下文(如果事先不知道日期,我真的看不到任何处理方法)。