$weekday=array('天','一','二','三','四','五','六');
$showtime=date("Y年n月d日 星期")$weekday[date("w")];
echo $showtime;
我也是来找答案的,结果发现两位仁兄都差了点。
那就让我补上这最后这点吧
function getFirstDayOfWeek($year,$week)
{
$first_day = strtotime($year"-01-01");
$is_monday = date("w", $first_day) == 1;
$week_one_start = !$is_monday strtotime("last monday", $first_day) : $first_day;
return $year'第'$week'周开始天:'date('Y-m-d',$week_one_start+(3600247($week-1)))
';结束天为:'date('Y-m-d',$week_one_start+((360024)(7($week-1)+6)));
}
function getTimeList($startTime, $endTime, $isWeek=true) {
$result = array();
if(!($st = strtotime($startTime)) || !($et = strtotime($endTime))) return false;
$day = 86400; //一天246060
$sDate = getdate($st);
if($isWeek) {
$result['weekly'] = array();
$nextTime = (6 - $sDate['wday']) $day + $st;
$currentTime = $st;
while($nextTime < $et) {
$result['weekly'][] = array('weekStart' => gmdate('Y-m-d', $currentTime), 'weekEnd' => gmdate('Y-m-d', $nextTime));
$currentTime = $nextTime + 86400;
$nextTime = $nextTime + 604800;//7天24小时60分60秒
}
$result['weekly'][] = array('weekStart' => gmdate('Y-m-d', $currentTime), 'weekEnd' => $endTime);
} else {
$result['monthly'] = array();
$currentMonth = $st;
$m = $sDate['mon'];
$year = $sDate['year'];
while($lastMonth < $et) {
if($m == 12) {
$m = 1;
$year = $year + 1;
} else $m++;
$firstDate = strtotime($year"-"$m"-01"); //下月初时间截
$lastMonth = $firstDate - $day;//得到本月末时间截
if($lastMonth > $et) $lastMonth = $et;
$result['monthly'][] = array('monthStart' => gmdate('Y-m-d', $currentMonth), 'monthEnd' => gmdate('Y-m-d', $lastMonth));
$currentMonth = $firstDate;
}
}
return $result;
}
调用:
$w = getTimeList('2013-05-02', '2013-08-06');
print_r($w);
echo '<p/>';
$m = getTimeList('2013-05-02', '2014-03-06', false);
print_r($m);
测试OK,你看看是不是你想要的吧
求本周的开始和结束时间
$w = date('w',time()) - 1;
$start_time = time() - $w 60 60 24; //星期一的时间戳
$end_time = time() + (6 - $w) 60 60 24; //星期天的时间戳
M('tablename')->where("create_time >= {$start_time} and create_time <= $end_time")->select();
月份的也很简单了,求出本月开始和结束的时间,然后在根据时间查询就可以了
<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 />";
希望我的回答对您有所帮助~~
以上就是关于php获取当前时间全部的内容,包括:php获取当前时间、PHP 根据年、周数获取周的起止日期、php求一段时间内各周的起始时间和结束时间等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)