作者adrianshum (Alien)
看板Programming
标题Re: [问题] 如何算出week of month?
时间Thu Feb 25 12:33:15 2010
※ 引述《xanlich (...)》之铭言:
: 标题: [问题] 如何算出week of month?
: 时间: Thu Feb 25 10:28:40 2010
:
:
: 请问一下, 大部份时间元件没有week of month(现在是该月的第几周)
:
: 如果要使用, 怎麽样才算的出来? 假设知道今天是几号和星期几
:
: 号为1~31 星期一~星期日为1~7, 谢谢
:
: --
:
※ 发信站: 批踢踢实业坊(ptt.cc)
: ◆ From: 122.116.45.34
: → adrianshum:你每周是以星期一还是星期日当开始? 61.238.156.189 02/25 12:07
: → adrianshum:直觉去想, 靠日期几和几号, 就能推出当 61.238.156.189 02/25 12:13
: → adrianshum:月一号是星期几. 然後当月每天是第几个 61.238.156.189 02/25 12:13
: → adrianshum:星期不就是 日期+1号星期几 / 7 吗? 61.238.156.189 02/25 12:14
我想了一想, 可以再简化一点, 其实可以这样算
(假设一星期是 日至六, 以 0-6 代表)
某日(d) 是星期几 (w), 它是在第几个星期就是
( (d + 7 - w) / 7 ) + 1
要是 w > d 就是 第 0 个星期
比如 2010-1-3 是星期日
(3 + 7 - 0) / 7 + 1 = 10/7 + 1 = 1 + 1 = 第 2 个星期
2010-1-1 是星期 5,
(1 + 7 -5) /7 + 1 = 3/7 + 1 = 0 + 1 = 第 1 个星期
2010-1-25 是星期 1,
(25 + 7 - 1) /7 + 1 = 31/7 + 1 = 4 + 1 = 第 5 个星期
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.238.156.189
※ 编辑: adrianshum 来自: 61.238.156.189 (02/25 12:49)
1F:推 xanlich:感谢,不过你式子好像错了,2010-2-27带进去 123.192.92.200 02/27 15:08
2F:→ xanlich:结果不对,我後来自己有推导出一个式子,但 123.192.92.200 02/27 15:09
3F:→ xanlich:程式现在没有,我先推出该月1日是星期几,再 123.192.92.200 02/27 15:10
4F:→ xanlich:推导目前是第几周,一星期是一至日,出来结 123.192.92.200 02/27 15:11
5F:→ xanlich:果是1-5, 所以你0-6也不对 @@ 123.192.92.200 02/27 15:11
6F:→ xanlich:啊, 我最後一句会错意 123.192.92.200 02/27 15:13
7F:→ adrianshum:XD 好像真的有点错了,不过应该差不多 218.250.0.44 03/01 00:39
8F:→ adrianshum:才对... :P 应该可以归纳到类似的简单 218.250.0.44 03/01 00:40
9F:→ adrianshum:算式才是 :P 218.250.0.44 03/01 00:40