-7

我有字符串“24.04.2013”​​。

如何识别字符串是否为日期?

提前致谢!

4

5 回答 5

5

像这样的东西?

int count="24.04.2013".Count(c => c == '.');
于 2013-04-24T11:10:14.207 回答
3

我认为您真正的问题应该是:我如何验证日期?

您应该使用DateTime.TryParseExact()它来验证它。

例如:

CultureInfo enDE = new CultureInfo("de-DE"); 
string dateString = "24.04.2013";

DateTime date;

if (DateTime.TryParseExact(dateString, "dd.MM.yyyy", enDE, DateTimeStyles.None, out date))
    Console.WriteLine("Success");
else
    Console.WriteLine("Failure");
于 2013-04-24T11:19:37.003 回答
2

你可以尝试使用

string.Split('.').Length >= 2

于 2013-04-24T11:11:19.883 回答
2

您可以将字符串与正则表达式 (RegEx) 匹配。这不仅可以告诉您是否有两个点,还可以告诉您格式是否正确:2 位、点、2 位、点、4 位。

Regex regex = new Regex("\d{2}\.\d{2}\.\d{4}");
if (regex.IsMatch(myInput, regex))
{ ... }
于 2013-04-24T11:13:23.383 回答
0

可以通过正则表达式检查它!

    private static bool IsDateGerman(string germanDate)
    {
        Regex rx = new Regex(@"[0-3]?[0-9]\.[0-1]?[1-9]\.[0-9]{1,4}");

        return rx.IsMatch(germanDate);
    }

仍然没有处理像 39.19.2013 这样的所有案件

于 2013-04-24T11:48:32.780 回答