搜索
系统检测到您的用户名不符合规范:

获取当前时间上一周的开始时间和结束时间

浏览:4795 发布日期:2015年03月24日 分类:功能实现 关键字: lastweek 当前时间上一周
* 获取当前时间上一周的开始时间和结束时间;
* 可以通过配置一周的开始时间,默认为星期一;
* 使用方法,执行 extract(get_lastweek());
* 之后,可以直接使用 $beginLastweek $endLastweek 两个变量;
* 如果需要其他变量名称,可以修改参数 $begin 和 $end ,自行指定名称
/**
* 获取当前时间上一周的开始时间和结束时间;
* 可以通过配置一周的开始时间,默认为星期一;
* 使用方法,执行 extract(get_lastweek());
* 之后,可以直接使用 $beginLastweek $endLastweek 两个变量;
* 如果需要其他变量名称,可以修改参数 $begin 和 $end ,自行指定名称
*
* @param int $week_start_num 一周的开始时间,默认为周一
* @param int $now_time 当前时间时间戳,这里做一个当前时间方便测试该方法的正确性
* @param string $begin 上一周开始时间的变量名称;
* @param string $end 上一周结束时间的变量名称;
*
* @author leeyi <leeyisoft@qq.com>
* @return array()
*/
function get_lastweek($week_start_num = 1, $now_time = 0, $begin = 'beginLastweek', $end = 'endLastweek') {
$now_time = $now_time>0 ? $now_time : time();
$now_weekday = date('w', $now_time); // 获取当前是星期前 0-6 星期日-星期六
$week_start_num = in_array($week_start_num, ['0','1','2','3','4','5','6']) ? $week_start_num : 1; // 默认一周开始时间为周一
$now_weekday = $now_weekday<$week_start_num ? $now_weekday+7 : $now_weekday;
//php获取上周起始时间戳和结束时间戳
$beginLastweek = $now_time-($now_weekday+7-$week_start_num)*86400;
$endLastweek = $beginLastweek+(6*86400);
if( APP_DEBUG ) { // for test
echo date('Y-m-d',$now_time).' : '.date('Y-m-d 00:00:00', $beginLastweek).' => '.date('Y-m-d 23:59:59', $endLastweek).'<br/>';
}

return array(
$begin => strtotime(date('Y-m-d 00:00:00', $beginLastweek)),
$end => strtotime(date('Y-m-d 23:59:59', $endLastweek))
);
}

// 测试案例
get_lastweek($week_start_num=0, strtotime('2015年03月22日'));
get_lastweek($week_start_num=0, strtotime('2015年03月23日'));
get_lastweek($week_start_num=0, strtotime('2015年03月24日'));
get_lastweek($week_start_num=0, strtotime('2015年03月25日'));
get_lastweek($week_start_num=0, strtotime('2015年03月26日'));
get_lastweek($week_start_num=0, strtotime('2015年03月27日'));
get_lastweek($week_start_num=0, strtotime('2015年03月28日'));
get_lastweek($week_start_num=0, strtotime('2015年03月29日'));
echo '<hr/>';
get_lastweek($week_start_num=1, strtotime('2015年03月22日'));
get_lastweek($week_start_num=1, strtotime('2015年03月23日'));
get_lastweek($week_start_num=1, strtotime('2015年03月24日'));
get_lastweek($week_start_num=1, strtotime('2015年03月25日'));
get_lastweek($week_start_num=1, strtotime('2015年03月26日'));
get_lastweek($week_start_num=1, strtotime('2015年03月27日'));
get_lastweek($week_start_num=1, strtotime('2015年03月28日'));
get_lastweek($week_start_num=1, strtotime('2015年03月29日'));
echo '<hr/>';
get_lastweek($week_start_num=2, strtotime('2015年03月22日'));
get_lastweek($week_start_num=2, strtotime('2015年03月23日'));
get_lastweek($week_start_num=2, strtotime('2015年03月24日'));
get_lastweek($week_start_num=2, strtotime('2015年03月25日'));
get_lastweek($week_start_num=2, strtotime('2015年03月26日'));
get_lastweek($week_start_num=2, strtotime('2015年03月27日'));
get_lastweek($week_start_num=2, strtotime('2015年03月28日'));
get_lastweek($week_start_num=2, strtotime('2015年03月29日'));
exit();
收藏
leeyi
积分:4217 等级:LV4
热点推荐
(追記) (追記ここまで)
最新更新

我们

合作

网站

信息

ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。

AltStyle によって変換されたページ (->オリジナル) /