【发布时间】:2015-08-24 05:47:15
【问题描述】:
语言:请使用 VB.NET 或 C#!
我正在尝试应用规则来确定特定日期并且惨遭失败。
客户选择一天(单选按钮):周一、周二、周三、周四、周五、周六、周日。
我需要构建一个基于所选日期的 SendOnDate DateTime 变量,并将其与当前日期进行比较。应用这些基本规则:
- 如果当前日期是
- 如果当前日期是 > 所选日期,则使用下周日期作为所选日期(单选按钮)。
我仍然很困惑如何处理这个问题,并且可能没有很好地描述事情。下面尝试设置一些示例:
场景 #1:
-(单选按钮)值 = 星期四
-当前日期 = 2015 年 8 月 17 日(星期一)
-SendOnDate 应该是:8/20/2015(当前日期的一周的星期四)
场景 #2:
-(单选按钮)值 = 星期一
-当前日期 = 2015 年 8 月 19 日(星期三)
-SendOnDate 应该是:8/24/2015(当前日期的下一周的星期一)
场景#3:
-(单选按钮)值 = 星期三
-当前日期 = 2015 年 8 月 19 日(星期三)
-SendOnDate 应该是:2015 年 8 月 19 日(当前日期所在周的星期三)
我不确定如何最好地解决这个问题并设置我的 SendOnDate 值。
【问题讨论】:
-
在哪一周都没有关系,不是吗?在任何一种情况下,您都想选择下一个星期日或星期五或其他什么。只要它是未来的日期(明天+),那就是日期。
-
星期几很重要!我需要根据上面应用的逻辑构建这个“SendOnDate”日期值。我可能解释得不是很好。如果当前日期的日期尚未出现在当前日期的周内,则将 SendOnDate 值构建为为本周选择的日期。如果当前日期的日期已经在一周中发生,则使用选择的下一周的日期。
-
至少对于基本的 DateTime 类型,您无法告诉它在哪一周,因此您对这条规则感到困惑。在所有情况下,您都希望使用今天 (S#3) 或下一个选定日期的日期 (S#1,2)。一个 For N 循环通过今天和接下来的 6 天将找到下一个匹配日期(匹配时带有 Exit For)
标签: vb.net