PHP计算今天、昨天、本周、本月、上月开始时间和结束时间

$today = date(‘Y-m-d H:i:s’,mktime(0,0,0,date(‘m’),date(‘d’),date(‘Y’)));

$today_end = date(‘Y-m-d H:i:s’,mktime(0,0,0,date(‘m’),date(‘d’)+1,date(‘Y’))-1);

echo $today,'<br>’;//今天开始时间

echo $today_end,'<br>’;//今天结束时间

$yesterday_start = date(‘Y-m-d H:i:s’,mktime(0,0,0,date(‘m’),date(‘d’)-1,date(‘Y’)));
$yesterday_end = date(‘Y-m-d H:i:s’,mktime(0,0,0,date(‘m’),date(‘d’),date(‘Y’))-1);

echo $yesterday_start,'<br>’;//昨天开始时间

echo $yesterday_end,'<br>’;//昨天结束时间

$w = date(‘w’,strtotime($today));

 

$this_mon = date(‘Y-m-d H:i:s’,mktime(0,0,0,date(‘m’),date(‘d’)-$w+1,date(‘Y’)));

$this_sun = date(‘Y-m-d H:i:s’,mktime(0,0,0,date(‘m’),date(‘d’)+(7-$w),date(‘Y’)));

echo $this_mon,'<br>’;//本周一时间

echo $this_sun,'<br>’;//本周日时间

$last_week_mon = date(‘Y-m-d H:i:s’,mktime(0,0,0,date(‘m’),date(‘d’)-$w+1-7,date(‘Y’)));

$last_week_sun = date(‘Y-m-d H:i:s’,mktime(0,0,0,date(‘m’),date(‘d’)-$w,date(‘Y’)));
echo $last_week_mon,'<br>’;//上周一

echo $last_week_sun,'<br>’;//上周日

$last_yue_start = date(‘Y-m-d H:i:s’,mktime(0,0,0,date(‘m’)-1,str_pad(1,2,0,STR_PAD_LEFT),date(‘Y’)));

$last_month_days = date(‘t’,strtotime(date(‘Y’).’-‘.(date(‘m’)-1).’-‘.str_pad(1,2,0,STR_PAD_LEFT)));

$last_yue_end = date(‘Y-m-d H:i:s’,mktime(0,0,0,date(‘m’)-1,$last_month_days,date(‘Y’)));

 

echo $last_yue_start,'<br>’;//上月1号

echo $last_yue_end,'<br>’;//上月末

另外可以

月份
本月起始和结束日期
起始日期:echo date(‘Y-m-01’,strtotime(date(‘Y-m-d’)));
结束日期:echo date(‘Y-m-t’,strtotime(date(‘Y-m-d’)));
上月起始和结束日期
起始日期:echo date(‘Y-m-01’,strtotime(‘-1 month’));
结束日期:echo date(‘Y-m-t’,strtotime(‘-1 month’));
季度
$season = ceil(date(‘n’) /3); //获取月份的季度

本季度起始和结束日期
起始日期:echo date(‘Y-m-01’,mktime(0,0,0,($season – 1) *3 +1,1,date(‘Y’)));

结束日期:echo date(‘Y-m-t’,mktime(0,0,0,$season * 3,1,date(‘Y’)));

上季度起始和结束日期
起始日期:echo date(‘Y-m-01’,mktime(0,0,0,($season – 2) * 3 +1,1,date(‘Y’)));

结束日期:echo date(‘Y-m-t’,mktime(0,0,0,($season – 1) * 3,1,date(‘Y’)));
上季度的支持跨年


本年起始和结束日期
起始日期:echo date(‘Y-01-01’);
结束日期:echo date(‘Y-12-31’);
上一年起始和结束日期
起始日期:echo date(‘Y-01-01’,strtotime(‘-1 year’));
结束日期:echo date(‘Y-12-31’,strtotime(‘-1 year’));

代码整理如下

function getTheTime($type=’m’){
$ret=array();
$today = date(‘Y-m-d H:i:s’,mktime(0,0,0,date(‘m’),date(‘d’),date(‘Y’)));
switch ($type) {
case ‘d’:
# code
$today = date(‘Y-m-d H:i:s’,mktime(0,0,0,date(‘m’),date(‘d’),date(‘Y’)));
$today_end = date(‘Y-m-d H:i:s’,mktime(0,0,0,date(‘m’),date(‘d’)+1,date(‘Y’))-1);
$ret[‘start’]=strtotime($today);
$ret[‘end’]=strtotime($today_end);
break;
case ‘w’:
# code…
$w = date(‘w’,strtotime($today));
$this_mon = date(‘Y-m-d H:i:s’,mktime(0,0,0,date(‘m’),date(‘d’)-$w+1,date(‘Y’)));
$this_sun = date(‘Y-m-d H:i:s’,mktime(0,0,0,date(‘m’),date(‘d’)+(7-$w),date(‘Y’)));
$ret[‘start’]=strtotime($this_mon);
$ret[‘end’]=strtotime($this_sun);
break;
case ‘m’:
# code…
$last_yue_start = date(‘Y-m-d H:i:s’,mktime(0,0,0,date(‘m’),str_pad(1,2,0,STR_PAD_LEFT),date(‘Y’)));
$last_month_days = date(‘t’,strtotime(date(‘Y’).’-‘.(date(‘m’)).’-‘.str_pad(1,2,0,STR_PAD_LEFT)));
$last_yue_end = date(‘Y-m-d H:i:s’,mktime(0,0,0,date(‘m’),$last_month_days,date(‘Y’)));
$ret[‘start’]=strtotime($last_yue_start);
$ret[‘end’]=strtotime($last_yue_end);
break;
case ‘s’:
# code…
$season = ceil(date(‘n’) /3); //获取月份的季度
$ret[‘start’]=strtotime(date(‘Y-m-01’,mktime(0,0,0,($season – 1) *3 +1,1,date(‘Y’))));
$ret[‘end’]=strtotime(date(‘Y-m-t’,mktime(0,0,0,$season * 3,1,date(‘Y’))));
break;
case ‘y’:
# code…
$ret[‘start’]=strtotime(date(‘Y-01-01’));
$ret[‘end’]=strtotime(date(‘Y-12-31’));
break;
default:
$last_yue_start = date(‘Y-m-d H:i:s’,mktime(0,0,0,date(‘m’),str_pad(1,2,0,STR_PAD_LEFT),date(‘Y’)));
$last_month_days = date(‘t’,strtotime(date(‘Y’).’-‘.(date(‘m’)).’-‘.str_pad(1,2,0,STR_PAD_LEFT)));
$last_yue_end = date(‘Y-m-d H:i:s’,mktime(0,0,0,date(‘m’),$last_month_days,date(‘Y’)));
$ret[‘start’]=strtotime($last_yue_start);
$ret[‘end’]=strtotime($last_yue_end);
break;
}
return $ret;
}

(文章今日已有 1 人访问,总访问量 6 ::>_<::)
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇