function get_weekinfo($month){
$weekinfo = array();
$end_date = date('d',strtotime($month' +1 month -1 day'));
for ($i=1; $i <$end_date ; $i=$i+7) {
$w = date('N',strtotime($month'-'$i));
$weekinfo[] = array(date('Y-m-d',strtotime($month'-'$i' -'($w-1)' days')),date('Y-m-d',strtotime($month'-'$i' +'(7-$w)' days')));
}
return $weekinfo;
}
print_r(get_weekinfo('2013-11'));
//执行结果
Array
(
[0] => Array
(
[0] => 2013-11-25
[1] => 2013-12-01
)
[1] => Array
(
[0] => 2013-12-02
[1] => 2013-12-08
)
[2] => Array
(
[0] => 2013-12-09
[1] => 2013-12-15
)
[3] => Array
(
[0] => 2013-12-16
[1] => 2013-12-22
)
[4] => Array
(
[0] => 2013-12-23
[1] => 2013-12-29
)
)
<php
$friday = strtotime("Friday");//本周五开始时间
$lastFri = strtotime("last Friday");//上周五开始时间 或者$friday-864007
$nextFri = strtotime("next Friday");//下周五开始时间 或者$friday+864007 注意一下:下周五这个有时会出问题,比如现在还不到周五,这样得到的下周五的时间会和本周五一样。
//如果需要某天截止时间可以在这一天的开始时间加上86400 也就是1天
echo "本周五开始时间是:"date("Y-m-d H:i:s",$friday)"<br />";
echo "上周五开始时间是:"date("Y-m-d H:i:s",$lastFri)"<br />";
echo "下周五开始时间是:"date("Y-m-d H:i:s",$nextFri)"<br />";
希望我的回答对您有所帮助~~
复制代码
代码如下:
echo
date("Ymd",strtotime("now")),
"\n";
echo
date("Ymd",strtotime("-1
week
Monday")),
"\n";
echo
date("Ymd",strtotime("-1
week
Sunday")),
"\n";
echo
date("Ymd",strtotime("+0
week
Monday")),
"\n";
echo
date("Ymd",strtotime("+0
week
Sunday")),
"\n";
//date('n')
第几个月
//date("w")
本周周几
//date("t")
本月天数
echo
'<br>上周:<br>';
echo
date("Y-m-d
H:i:s",mktime(0,
0
,
0,date("m"),date("d")-date("w")+1-7,date("Y"))),"\n";
echo
date("Y-m-d
H:i:s",mktime(23,59,59,date("m"),date("d")-date("w")+7-7,date("Y"))),"\n";
echo
'<br>本周:<br>';
echo
date("Y-m-d
H:i:s",mktime(0,
0
,
0,date("m"),date("d")-date("w")+1,date("Y"))),"\n";
echo
date("Y-m-d
H:i:s",mktime(23,59,59,date("m"),date("d")-date("w")+7,date("Y"))),"\n";
echo
'<br>上月:<br>';
echo
date("Y-m-d
H:i:s",mktime(0,
0
,
0,date("m")-1,1,date("Y"))),"\n";
echo
date("Y-m-d
H:i:s",mktime(23,59,59,date("m")
,0,date("Y"))),"\n";
echo
'<br>本月:<br>';
echo
date("Y-m-d
H:i:s",mktime(0,
0
,
0,date("m"),1,date("Y"))),"\n";
echo
date("Y-m-d
H:i:s",mktime(23,59,59,date("m"),date("t"),date("Y"))),"\n";
$getMonthDays
=
date("t",mktime(0,
0
,
0,date('n')+(date('n')-1)%3,1,date("Y")));//本季度未最后一月天数
echo
'<br>本季度:<br>';
echo
date('Y-m-d
H:i:s',
mktime(0,
0,
0,date('n')-(date('n')-1)%3,1,date('Y'))),"\n";
echo
date('Y-m-d
H:i:s',
mktime(23,59,59,date('n')+(date('n')-1)%3,$getMonthDays,date('Y'))),"\n";
自己理了一下思路,因为我做的时候sql语句里用的是小于和大于,所以直接统计到下一天的0点。最后返回的是数组。
//开始时间
$startDate = "2013-12-12";
//结束时间
$endDate = "2013-12-16";
//跨越天数
$n = (strtotime($endDate)-strtotime($startDate))/86400;
//结束时间加一天(sql语句里用的是小于和大于,如果有等于的话这句可以不要)
$endDate = date("Y-m-d 00:00:00",strtotime("$endDate +1 day"));
//判断,跨度小于7天,可能是同一周,也可能是两周
if($n<7){
//查开始时间 在 那周 的 位置
$day = date("w",strtotime($startDate))-1;
//查开始时间 那周 的 周一
$week_start = date("Y-m-d 00:00:00",strtotime("$startDate -{$day} day"));
//查开始时间 那周 的 周末
$day = 7-$day;
$week_end = date("Y-m-d 00:00:00",strtotime("$startDate +{$day} day"));
//判断周末时间是否大于时间段的结束时间,如果大于,那就是时间段在同一周,否则时间段跨两周
if($week_end>=$endDate){
$weekList[] =array($startDate,$endDate);
}else{
$weekList[] =array($startDate,$week_end);
$weekList[] =array($week_end,$endDate);
}
}else{
//如果跨度大于等于7天,可能是刚好1周或跨2周或跨N周,先找出开始时间 在 那周 的 位置和那周的周末时间
$day = date("w",strtotime($startDate))-1;
$week_start = date("Y-m-d 00:00:00",strtotime("$startDate -{$day} day"));
$day = 7-$day;
$week_end = date("Y-m-d 00:00:00",strtotime("$startDate +{$day} day"));
//先把开始时间那周写入数组
$weekList[] =array($startDate,$week_end);
//判断周末是否大于等于结束时间,不管大于(2周)还是等于(1周),结束时间都是时间段的结束时间。
if($week_end >= $endDate){
$weekList[] = array($week_end,$endDate);
}else{
//N周的情况用while循环一下,然后写入数组
while($week_end <= $endDate){
$start = $week_end;
$week_end = date("Y-m-d 00:00:00",strtotime("$week_end +7 day"));
if($week_end <= $endDate){
$weekList[] = array($start,$week_end);
}else{
$weekList[] = array($start,$endDate);
}itjob
}
}
}
以上就是关于php语言 计算每个月有几周及每周的起始时间 求程序实现的代码全部的内容,包括:php语言 计算每个月有几周及每周的起始时间 求程序实现的代码、PHP 编程 计算本周五日期和下一个周五的日期、用php获取本周,上周,本月,上月,本季度日期的代码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)