免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2275 | 回复: 3
打印 上一主题 下一主题

[求助]PHP求本年度的第N周的第一天是几月几号 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-03-15 13:16 |只看该作者 |倒序浏览
求下周一到周五的算法
我一碰到日期就头大,现在要做个基于月历的PIM,给下周一到周五加链接,请各位大师不吝赐教!谢谢!

[ 本帖最后由 bjwyh 于 2007-3-15 15:27 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2007-03-15 15:24 |只看该作者
能求出第N周的第一天是几月几号就行,哪位大侠请指点一二呀!

论坛徽章:
0
3 [报告]
发表于 2007-03-15 23:59 |只看该作者
原帖由 bjwyh 于 2007-3-15 13:16 发表
求下周一到周五的算法
我一碰到日期就头大,现在要做个基于月历的PIM,给下周一到周五加链接,请各位大师不吝赐教!谢谢!

js便 server js

论坛徽章:
0
4 [报告]
发表于 2007-03-16 23:20 |只看该作者
已经实现,思路如下:

取系统当前时间戳:
$curTime=time();

求出当前是星期几:
$curWeekday = date('w');

如果是周一则加上7*86400周二加上6*86400,依此类推得到下周一的时间戳:
switch ($curWeekday) {
   case 0:
       $nextMon = $curTime+86400;
       break;
   case 1:
       $nextMon = $curTime+7*86400;
       break;
   case 2:
       $nextMon = $curTime+6*86400;
       break;
   case 3:
       $nextMon = $curTime+5*86400;
       break;
   case 4:
       $nextMon = $curTime+4*86400;
       break;
   case 5:
       $nextMon = $curTime+3*86400;
       break;
   case 6:
       $nextMon = $curTime+2*86400;
       break;

}
如此下来$nextMon就是下周一现在这个点的时间戳
给$nextMon到$nextMon+4*86400之间所在日历中的号数加上接连就OK了。

[ 本帖最后由 bjwyh 于 2007-3-17 00:15 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP