如何知道今天是一个月的第几个星期?(50分)

  • 主题发起人 主题发起人 Jao
  • 开始时间 开始时间
J

Jao

Unregistered / Unconfirmed
GUEST, unregistred user!
Delphi的函数DayofWeek只能知道今天是星期几,而我想知道今天是这个月
的第几个星期。有这样的函数吗?
 
先把day给DecodeDate出来,然后mod 7.
 
不行,这样算出来仍是星期几,而不是第几个星期。
我想知道的是:比如今天是2号,是在12月的第一个星期里,而8号就是在12月
的第二个星期了。以此类推,X月X日在当月的第几星期?
 
对的呀!
decodedate之后,day=2
(2 mod 7)+1 = 1 //第一个星期
(8 mod 7)+1 = 2 //第二个星期
 
你应该先求这个月的第一天是星期几,在mod一下就可以了。不难吧!
 
你应该先求这个月的第一天是星期几,再(今天+几) mod 7 一下就可以了。不难吧!
(刚才的莫名其妙就发上去了,奇怪,有bug)
 
直接mod不就可以了吗? 有什么问题?
 
Energy,好像不对吧?
应该先求这个月的第一天是星期几,再((今天+几-1) mod 7)+1
第一次来拿分,请多承让!
:)
 
本月第一天12.1,星期3

按照你们的方法:
今天12.2,应该在第<font color=red>一</font>个星期
((2+3-1) mod 7)+1 = 1 //正确
12.8,应该在第<font color=red>二</font>个星期
((8+3-1) mod 7)+1 = 4 //错误

按照我和小天的方法:
12.2
(2 mod 7)+1 =1 //正确,第<font color=red>一</font>个星期
12.8
(8 mod 7)+1 =2 //正确,第<font color=red>二</font>个星期
 
((8+3-1) mod 7)+1 = <font color=red> 2 </font>

加减法都不会做。
而且
 本月6日
(6+3-1) = 8 , 8 mod 7 = 1 , 1+1 = 1 正确
 而
 (6 mod 7) = 0 , 0+1=1 错误
 
呵呵,修正以下1+1=2
 
energy你说的是div吧?
mod是取余
div是取整.
两个概念.
 
哎,受人误导,惭愧、惭愧。
 
唉呀乱了!
我试过了 (今天+几-1) div 7 -1 对了。谢谢大家!
 
更正:(今天+几-1) div 7 <font color="red">+</font> 1

(奇怪了,怎么总出错?)
 
多人接受答案了。
 
后退
顶部