寻个时间判断的思路:
“每月倒数第二天”、“每月第二个星期三”等这样的时间条件存储在数据库。现在需要每天判断今日日期与数据库中的这些时间条件是否一直。
请问程序的思路。
现在的想法是:
轮流取出数据库中这些条件语句,计算出对应的实际日期,然后和今天日期比较是否一直。
但这样做的话,数据库中有1万条这样的时间条件语句,就需要转换判断1万次,这样效率太低了吧? --------------------编程问答-------------------- 写个存储过程 --------------------编程问答-------------------- 上面的“是否一直”打错了,应该是“是否一致”. --------------------编程问答-------------------- 但这样做的话,数据库中有1万条这样的时间条件语句,就需要转换判断1万次,这样效率太低了吧?
但不可能有一万个这样的组合吧,每个月每个星期加上每个星期几才12*4*7=336种组合加上一年365天才701种组合…… --------------------编程问答-------------------- TO:Ivony(授人以鱼不如授人以渔,上海谋生)
我不是指一万个组合,我是指数据库中如果有一万条这样的时间条件 --------------------编程问答-------------------- 还要说更清楚?
你有多少种组合,判断它满足哪些组合,然后拿这些组合到数据库去查不就行了? --------------------编程问答-------------------- 俩人名字差不多,是兄弟吧? --------------------编程问答-------------------- 我也才发现……,只差一个字母…… --------------------编程问答-------------------- 我考 难道凭借csdn 找到了失散多年的兄弟:)
汗一个 --------------------编程问答-------------------- ~~~ --------------------编程问答-------------------- 兄弟重逢,恭喜恭喜-_-#~~~ --------------------编程问答-------------------- 据我分析转换判断无法避免,可以理解为一个分段函数,“每月倒数第x天”、“每月第y个星期x”.还需要考虑星期跨月的问题,比如:2007-6-1按星期日为每周第一天来算是'五月第四个星期五'. --------------------编程问答-------------------- 判断多种星期的组合,和楼上说的星期跨月的问题,我想可以不可以把特殊的先取出来,再在一般里查询,可能会好些! --------------------编程问答-------------------- 这 是作什么用的 --------------------编程问答-------------------- 还以为是卖鱼的,原来是他兄弟 --------------------编程问答-------------------- Ivony 和Iveny兄弟啊!! --------------------编程问答-------------------- 这个问题应该很难提高效率了,也只能逐条处理了 --------------------编程问答-------------------- 或者先判断今天是不是“每月倒数第二天”、“每月第二个星期三”...如果今天是就select * from table where cond="每月倒数第二天" or cond="每月第二个星期三" or ...
补充:.NET技术 , C#