我有一个500K +行的vb.net应用程序,在过去的5年里由10多个不同的开发者编写。很多时候它会获得系统时间和/或日期并依赖它。
现在我必须通过该程序重新运行真实案例以进行回归测试,并且它会破坏日期/时间的重要情况。我的修复很容易,只需用程序获取当前日期/时间替换程序中获取当前日期/时间的所有区域,除非我正在测试,在这种情况下它将返回原始运行的日期/时间。
我尝试在源代码中搜索明显的“当前日期/时间”功能:
Now
DateAndTime.TimeOfDay
Date.ToDay
但是,如果我错过了一个,我会失败。
任何人都可以列出更多获取当前时间的方法,这些方法可能隐藏在源代码中,我可以搜索吗?注意:很明显,这个系统中的第三方库都没有返回日期,嗯,一个是,但我已经抓住了它。所以只是来自.net或vb。谢谢。
答案 0 :(得分:4)
使用@Hans Passant描述的技术。有关与系统时钟相关的VB.NET功能的完整列表,请查看here。
DateString
Now
TimeOfDay
Timer
TimeString
Today
DateAdd
DateDiff
DatePart
DateSerial
DateValue
Day
IsDate
Month
MonthName
Weekday
Hour
Minute
Second
TimeSerial
TimeValue
答案 1 :(得分:3)
找到一个,右键单击,查找所有引用。
Reflector也可以提供帮助。右键单击属性getter,Analyze,Used by。
答案 2 :(得分:2)
以下还获取当前日期和时间:
DateTime.Now
DateTime.UtcNow
DateTime.Today
DateTimeOffset.Now
DateTimeOffset.UtcNow
这就是全部吗?不知怎的,我怀疑它。