C# 是否有方法确定Convert.ToDateTime是否已添加到该年?

C# 是否有方法确定Convert.ToDateTime是否已添加到该年?,c#,datetime,C#,Datetime,我有大量的文本文件需要使用正则表达式进行解析。我收集的一些数据是各种格式的日期,如2015年12月1日、2015年12月1日、2015年12月1日等。它们有时列出一年,有时不列出。我的问题出现在我的日期跨越两年的情况下,即12/1-1/8,其中第一个日期需要2015年,第二个日期需要2016年。目前,我正在将它们解析为字符串,并尝试将它们转换为DateTimes。这会加上当前日期的年份,因此如果在2015年解析,则第二个日期是错误的,如果在2016年解析,则第一个日期是错误的。是否有方法确定Co

我有大量的文本文件需要使用正则表达式进行解析。我收集的一些数据是各种格式的日期,如2015年12月1日、2015年12月1日、2015年12月1日等。它们有时列出一年,有时不列出。我的问题出现在我的日期跨越两年的情况下,即12/1-1/8,其中第一个日期需要2015年,第二个日期需要2016年。目前,我正在将它们解析为字符串,并尝试将它们转换为DateTimes。这会加上当前日期的年份,因此如果在2015年解析,则第二个日期是错误的,如果在2016年解析,则第一个日期是错误的。是否有方法确定Convert.ToDateTime何时添加字符串丢失后的年份?如果我能确定这一点,我有办法确定需要添加哪一年

Convert.ToDateTime
只使用
DateTime.Parse
。我的理解是,在解释MM/dd格式时,它将始终假定当前年份


在您的场景中,听起来您需要确定如何处理此问题。例如,您可以测试如果后一个日期早于前一个日期,您可以添加一年。

为什么您的
12/1
应该是
2016
,而
1/8
应该是
2015
?或者您是否有类似于
“12/1-1/8”
的字符串?你的解析模式到底是什么?几个输入和输出示例就可以了。它们将是不同的年份,因为它们代表一个时间跨度。文本传达的信息是,某些事件从2015年1月12日持续到2016年8月1日。文本可以在任何一年进行解析。如果在2015年12月16日解析,则两个日期均为2015年;如果在2016年1月6日解析,则两个日期均为2016年。日期被单独解析,它们在文本中显示为12/1-1/8,但我需要单独存储它们,所以我使用正则表达式来获取每个日期。当我这样做的时候,我想得到这个值,同时将它转换成一个日期时间。我计划处理这个问题。我的问题在于,我想创建一个方法,该方法能够解析文本,获取一个日期的字符串值,并将其转换为DateTime对象,以返回其他对象进行操作,并确定年份是否正确。我只是想知道这一年是否被加上,这样更容易判断它是否正确。