# [php 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法](https://www.cnblogs.com/rainblack/p/4924581.html)
php 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法,主要使用到了 php 的时间函数 mktime。下面首先还是直奔主题以示例说明如何使用 mktime 获取今日、昨日、上周、本月的起始时间戳和结束时间戳,然后在介绍一下 mktime 函数作用和用法。
| `01` | `//php获取今日开始时间戳和结束时间戳` |
| `02` | `$beginToday``=``mktime``(0,0,0,``date``(``'m'``),``date``(``'d'``),``date``(``'Y'``));` |
| `03` | `$endToday``=``mktime``(0,0,0,``date``(``'m'``),``date``(``'d'``)+1,``date``(``'Y'``))-1;` |
| `04` | `//php获取昨日起始时间戳和结束时间戳` |
| `05` | `$beginYesterday``=``mktime``(0,0,0,``date``(``'m'``),``date``(``'d'``)-1,``date``(``'Y'``));` |
| `06` | `$endYesterday``=``mktime``(0,0,0,``date``(``'m'``),``date``(``'d'``),``date``(``'Y'``))-1;` |
| `07` | `//php获取上周起始时间戳和结束时间戳` |
| `08` | `$beginLastweek``=``mktime``(0,0,0,``date``(``'m'``),``date``(``'d'``)-``date``(``'w'``)+1-7,``date``(``'Y'``));` |
| `09` | `$endLastweek``=``mktime``(23,59,59,``date``(``'m'``),``date``(``'d'``)-``date``(``'w'``)+7-7,``date``(``'Y'``));` |
| `10` | `//php获取本月起始时间戳和结束时间戳` |
| `11` | `$beginThismonth``=``mktime``(0,0,0,``date``(``'m'``),1,``date``(``'Y'``));` |
| `12` | `$endThismonth``=``mktime``(23,59,59,``date``(``'m'``),``date``(``'t'``),``date``(``'Y'``));` |
======================
今日
======================
//今日?
/*
SELECT *
FROM erp_order
WHERE TO_DAYS( CURDATE( ) ) - TO_DAYS( FROM_UNIXTIME( dinggaoshijian ) ) =0
*/
<?php
/**date 2015-04-11
* author http://www.lai18.com
**/
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";
echo "*********第几个月:";
echo date('n');
echo "*********本周周几:";
echo date("w");
echo "*********本月天数:";
echo date("t");
echo "*********";
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";
$season = ceil((date('n'))/3);//当月是第几季度
echo '<br>本季度起始时间:<br>';
echo date('Y-m-d H:i:s', mktime(0, 0, 0,$season*3-3+1,1,date('Y'))),"\n";
echo date('Y-m-d H:i:s', mktime(23,59,59,$season*3,date('t',mktime(0, 0 , 0,$season*3,1,date("Y"))),date('Y'))),"\n";
$season = ceil((date('n'))/3)-1;//上季度是第几季度
echo '<br>上季度起始时间:<br>';
echo date('Y-m-d H:i:s', mktime(0, 0, 0,$season*3-3+1,1,date('Y'))),"\n";
echo date('Y-m-d H:i:s', mktime(23,59,59,$season*3,date('t',mktime(0, 0 , 0,$season*3,1,date("Y"))),date('Y'))),"\n";
?>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
开发过程中,常用日期处理函数,时间戳处理函数等,如下讲解:
<?php
echo date('Y-m-d h:i:s',time());
//运行结果(年月日时分秒,“-”间隔):2014-09-12 06:28:32
echo date('Y-m-d',time());
//运行结果(年月日,“-”间隔):2014-09-12
echo date('Y-m-d',strtotime(date('Y-m-d', time()-86400)));
//运行结果(当前日期前一天的年月日,“-”间隔):2014-09-11
echo date('Ymd',time());
//运行结果(年月日,无间隔):20140912
echo date('m-d',time());
//运行结果(月日,“-”间隔):09-12
echo str_replace("-","月",date('m-d',time()-date('w',time())*86400))."日";
//运行结果(月日,汉字显示间隔):09月12日
echo date('w',time());
//运行结果(星期几):5
echo time();
//运行结果(当前日期时间的秒数):1410503809
echo strtotime(date('Y-m-d',time()));
//运行结果(当前日期秒数,具体到天):1410503809
echo date('Y-m-d',strtotime(date('Y-m-d', time()))-date('w',strtotime(date('Y-m-d', time())))*86400);
//运行结果(当前日期所属自然周的起始日期即周日的日期,具体到天,“-”间隔):2014-09-07
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//php获取今日开始时间戳和结束时间戳
$beginToday=mktime(0,0,0,date('m'),date('d'),date('Y'));
$endToday=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1;
//php获取昨日起始时间戳和结束时间戳
$beginYesterday=mktime(0,0,0,date('m'),date('d')-1,date('Y'));
$endYesterday=mktime(0,0,0,date('m'),date('d'),date('Y'))-1;
//php获取上周起始时间戳和结束时间戳
$beginLastweek=mktime(0,0,0,date('m'),date('d')-date('w')+1-7,date('Y'));
$endLastweek=mktime(23,59,59,date('m'),date('d')-date('w')+7-7,date('Y'));
//php获取本月起始时间戳和结束时间戳
$beginThismonth=mktime(0,0,0,date('m'),1,date('Y'));
$endThismonth=mktime(23,59,59,date('m'),date('t'),date('Y'));
网友评论