我在 C# 中使用DateTime.TryParse()
.
本质上,给定一个字符串,我需要提取当前显示文化中的年份和/或月份和日期。有时我只得到一年,或一个月,或全部三个。根据我得到的,我有不同的控制流程。
到目前为止,我设法将各种字符串解析为DateTime
; 那不是我的问题。
我的问题是我想知道实际解析了什么(即我得到了一个月还是一年,或两者兼而有之)。
未初始化的DateTime
默认值为01/01/0001
,我无法将所有内容都设置为无效日期,例如99/99/9999
然后查看填充的内容。
我在想也许我需要做正则表达式,但是这个DateTime
类提供了对多种文化的解析,这在这个项目中非常重要。
我试过搜索这个,但也许我没有使用正确的术语,因为肯定其他人之前一定遇到过这个问题。
更新: 这是我所拥有的一些示例代码:
string strIn = Console.ReadLine();
DateTimeStyles enStyles = DateTimeStyles.AllowInnerWhite | DateTimeStyles.AllowLeadingWhite | DateTimeStyles.AllowTrailingWhite | DateTimeStyles.AssumeLocal;
bFound = DateTime.TryParse(strIn, CultureInfo.CreateSpecificCulture("en-US"), enStyles, out cDT);
现在,如果成功解析某些内容,则 bFound 将为真。但是,我需要知道日期的哪些部分已成功解析