【发布时间】:2016-01-20 22:29:39
【问题描述】:
论坛。
我的代码从 excel 文件中读取并在变量“textContainingDate”中获取以下字符串:
"Employee Filter: All Employees; Time Entry Dates: 01/07/2016-01/07/2016; Exceptions: All Exceptions"
我想做的是从字符串中提取日期值。尽管有两个日期可以作为日期范围读取,但这两个日期将始终相同。我的想法是,无论在何种情况下,我都会对遇到的第一次约会感到满意。
var dateTime = DateTime.ParseExact(textContainingDate, "MM/dd/yyyy", CultureInfo.CurrentCulture);
我尝试使用上述语句,这些语句是从其他 stackoverflow 问题和 Google 文章中拼凑而成的。根据我的阅读,我相信它失败了,因为它只需要一个日期字符串。
任何关于解决方案和/或关于阅读什么文本以找到解决方案的方向的建议都表示赞赏。
【问题讨论】:
-
使用正则表达式获取日期字符串,然后使用你的方法将其转换为
DateTime。 -
日期前的文字总是一样的吗?如果是这种情况,您可以使用简单的子字符串来剪切日期
-
DateTime.ParseExact()方法将01/20/2012之类的字符串完全解析为日期对象。您正在尝试将包含日期值的整个字符串转换为不可能的日期对象。使用正则表达式提取日期字符串并将其解析为日期对象。
标签: c# date parsing string-parsing