如何检查字符串是否包含特定格式的日期
本文关键字:定格 包含特 格式 日期 是否 字符串 何检查 检查 | 更新日期: 2023-09-27 18:10:55
我想检查字符串是否包含这种格式的日期"Wed, Sep 2, 2015 at 6:40 AM"
.
我如何在c#中做到这一点?
这是与您的日期格式匹配的格式字符串
"ddd, MMM d, yyyy 'at' h:mm tt"
还有一个使用
的例子DateTime date;
Boolean isValidDate = DateTime.TryParseExact("Wed, Sep 2, 2015 at 6:40 AM", "ddd, MMM d, yyyy 'at' h:mm tt", CultureInfo.InvariantCulture, DateTimeStyles.None, out date);
这是一个代码片段从一个较大的文本中提取日期字符串然后解析成DateTime
// example string
String input = "This page was last updated on Wed, Sep 2, 2015 at 6:40 PM";
Regex regex = new Regex(@"[a-z]{3},'s[a-z]{3}'s[0-9],'s[0-9]{4}'sat's[0-1]?[0-9]:[0-5][0-9]'s(AM|PM)", RegexOptions.IgnoreCase);
Match match = regex.Match(input);
if (match.Success)
{
Group g = match.Groups[0];
CaptureCollection cc = g.Captures;
for (int j = 0; j < cc.Count; j++)
{
Capture c = cc[j];
Console.WriteLine(c.Value);
DateTime date;
Boolean isValidDate = DateTime.TryParseExact(c.Value, "ddd, MMM d, yyyy 'at' h:mm tt", CultureInfo.InvariantCulture, DateTimeStyles.None, out date);
if(isValidDate)
{
Console.WriteLine(date);
}
}
}