PHP中常见日期、月份、时间戳列表(strtotime、date、mktime的用法)
在实际开发过程中,特别是做查询统计时,经常会用到最近七天、上周、上个月、每月第一天等时间操作,以下是一些常见用例:
日期
-
今天
date('Y-m-d') -
明天
date('Y-m-d',strtotime('1 day')) -
明天
date('Y-m-d',strtotime('tomorrow')) -
明天
date("Y-m-d",mktime(0,0,0,date('m'),date('d')+1,date('Y'))) -
昨天
date('Y-m-d',strtotime('-1 day')) -
昨天
date('Y-m-d',strtotime('yesterday')) -
昨天
date("Y-m-d",mktime(0,0,0,date('m'),date('d')-1,date('Y'))) -
前天
date('Y-m-d',strtotime('-2 day')); -
前i天
date('Y-m-d',strtotime('-'.$i.' day')); -
前i天
date("Y-m-d",mktime(0,0,0,date('m'),date('d')-i,date('Y'))) -
后i天
date('Y-m-d H:i:s',strtotime($i.' day')) -
后i天
date("Y-m-d",mktime(0,0,0,date('m'),date('d')+i,date('Y')))
月份
-
本月份
date('Y-m') -
//以下’month’可用复数’months’
-
下个月
date("Y-m",strtotime('next month')) -
下个月
date("Y-m",strtotime('1 month')) -
上个月
date("Y-m",strtotime('last month')) -
上个月
date("Y-m",strtotime('-1 month')) -
前$i月
date(‘Y-m’,strtotime('-'.$i.' month')) -
前$i月
date("Y-m-d",mktime(0,0,0,date('m')-$i,date('d'),date('Y'))) -
后$i月
date("Y-m",strtotime($i.' month')) -
后$i月
date("Y-m-d",mktime(0,0,0,date('m')+$i,date('d'),date('Y')))
星期
- 本星期(星期一)
date('Y-m-d',strtotime('this week')) - 上星期(星期一)
date('Y-m-d',strtotime('last week')) - 下星期(星期一)
date('Y-m-d',strtotime('next week')) - 下星期(7天后)
date('Y-m-d',strtotime('1 week')) - 上星期(7天前)
date('Y-m-d',strtotime('-1 week')) - 上星期(7天前)
date('Y-m-d',strtotime($i.' week')) - $i个星期
date('Y-m-d',strtotime($i.' week')) - $i个星期后的星期一
date('Y-m-d',strtotime($i.' week monday'))
时间戳
-
一天(24小时)总秒数 86400
-
一周(7天)总秒数 604800
-
今天0点
strtotime(date('Y-m-d')) -
今天23:59:59
strtotime(date('Y-m-d'))+86399 -
昨天0点
strtotime(date('Y-m-d',strtotime('-1 day'))) -
昨天23:59:59
strtotime(date('Y-m-d',strtotime('-1 day')))+86399 -
昨天23:59:59
strtotime(date('Y-m-d'))-1 -
明天0点
strtotime(date('Y-m-d',strtotime('1 day'))) -
明天23:59:59
strtotime(date('Y-m-d',strtotime('1 day')))+86399 -
明天23:59:59
strtotime(date('Y-m-d',strtotime('2 day')))-1 -
昨天的这个时刻
strtotime('-1 day')//数字与day之前可以不用空格 -
明天的这个时刻
strtotime('1 day') -
$i天后的这个时刻
strtotime($i.' day') -
$i天后的这个时刻
strtotime(-$i.' day') -
$i天后的0点
strtotime(date('Y-m-d',strtotime($i.' day'))) -
$i天前的0点
strtotime(date('Y-m-d',strtotime(-$i.' day'))) -
本星期开始(周一0点)
strtotime('this week monday') -
本星期结束(周日23:59:59)
strtotime('this week sunday')+86399 -
本星期结束(周日23:59:59)
strtotime('this week monday')+604800-1 -
前$i星期开始(周一0点)
strtotime('this week monday')-604800 * $i -
前$i星期结束(周日23:59:59点)
strtotime('this week monday')-604800 * ($i-1)-1 -
上一个周一0点
strtotime("-1 week Monday")//今天是周一,则为上周一0点 今天是周二(周一之后),则为本周三0点 -
上一个周三0点
strtotime("-1 week wednesday")//今天是周三,则为上周三0点 今天是周四(周三之后),则为本周三0点 -
下一个周一0点
strtotime("1 week Monday")//今天是周一,则为下周一0点 今天是周二(周一之后),则为下下周一0点 -
下一个周三0点
strtotime("1 week wednesday")//今天是周三,则为下周三0点 今天是周四(周三之后),则为下下周三0点 -
本月首日0点
strtotime(date('Y-m')) -
本月尾日23:59:59
strtotime(date('Y-m',strtotime('next month')))-1 -
本月尾日23:59:59
mktime(0,0,0,date('m')+1,1,date('Y'))-1 -
前$i月首日0点
mktime(0,0,0,date('m')-$i,1,date('Y')) -
前$i月尾日23:59:59
mktime(0,0,0,date('m')-$i+1,1,date('Y'))-1 -
后$i月首日0点
mktime(0,0,0,date('m')+$i,1,date('Y')) -
后$i月首日23:59:59
mktime(0,0,0,date('m')+$i+1,1,date('Y'))-1
————————————————
版权声明:本文为CSDN博主「aotudexiaowu」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/aotudexiaowu/article/details/106145254

浙公网安备 33010602011771号