我正在尝试编写一个这样的日历功能
function get_date($month,$year,$week,$day,$direction) { .... }
$week是一个整数(1,2,3 …),$day是一天(太阳,星期一,…)或数字,取其中较为容易.方向有点混乱,因为它有不同的计算.
举个例子,我们来打电话
get_date(5,2009,1,’Sun’,’forward’);
它使用默认值,并获得5月的第一个星期天,即2009-05-03.如果我们打电话
get_date(5,’backward’);
,它返回在2009-05-24五月的第二个最后一个星期天.
也许它可以更快…
这是非常有趣的代码.
这是非常有趣的代码.
请注意,$方向为1,向前为-1,向后放轻松:)
另外,$day从星期一开始,值为1,星期日结束为7.
function get_date($month,$direction) { if($direction > 0) $startday = 1; else $startday = date('t',mktime(0,$month,$year)); $start = mktime(0,$startday,$year); $weekday = date('N',$start); if($direction * $day >= $direction * $weekday) $offset = -$direction * 7; else $offset = 0; $offset += $direction * ($week * 7) + ($day - $weekday); return mktime(0,$startday + $offset,$year); }
我已经测试了一些例子,似乎总是工作,一定要仔细检查它;)
原文地址:https://www.jb51.cc/php/132896.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。