我正在建立一个系统,可以根据用户输入的开始日期和结束日期从数据库收集数据。系统将收集间隔(例如1小时,6小时或一天)内的平均数据。如果用户未输入开始日期或结束日期,我希望程序将开始日期设置为当前时间减去间隔。
我目前正在让用户以以下格式输入间隔。
1m = 1 minute
1h = 1 hour
12h = 12 hours
3d = 3 days
因此,这些值的格式不像datetime。我可以采用当前日期时间,并根据附加的值(用数字分隔)减去分钟,小时或天,但这将意味着很多if
语句。我真正想要的是一种用任意值减去日期时间的方法,有人能找到更好的解决方案吗?
答案 0 :(得分:0)
与其提供预定义的时间间隔(例如,通过单独的类型/枚举实现),不如让用户自由指定TimeSpan
。
这有两个优点:
TimeSpan
中减去DateTime.Now
如果需要限制间隔,则可以在视图/窗口中实现。但这仍然应该是一个TimeSpan。