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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
//php获取今天日期 date ( "Y-m-d" );
//php获取昨天日期 date ( "Y-m-d" , strtotime ( "-1 day" ))
//php获取明天日期 date ( "Y-m-d" , strtotime ( "+1 day" ))
//php获取一周后日期 date ( "Y-m-d" , strtotime ( "+1 week" ))
//php获取一周零两天四小时两秒后时间 date ( "Y-m-d G:H:s" , strtotime ( "+1 week 2 days 4 hours 2 seconds" ))
//php获取下个星期四日期 date ( "Y-m-d" , strtotime ( "next Thursday" ))
//php获取上个周一日期 date ( "Y-m-d" , strtotime ( "last Monday" ))
//php获取一个月前日期 date ( "Y-m-d" , strtotime ( "last month" ))
//php获取一个月后日期 date ( "Y-m-d" , strtotime ( "+1 month" ))
//php获取十年后日期 date ( "Y-m-d" , strtotime ( "+10 year" ))
//php获取今天起止时间戳 mktime (0,0,0, date ( 'm' ), date ( 'd' ), date ( 'Y' ));
mktime (0,0,0, date ( 'm' ), date ( 'd' )+1, date ( 'Y' ))-1;
//php获取昨天起止时间戳 mktime (0,0,0, date ( 'm' ), date ( 'd' )-1, date ( 'Y' ));
mktime (0,0,0, date ( 'm' ), date ( 'd' ), date ( 'Y' ))-1;
//php获取上周起止时间戳 mktime (0,0,0, date ( 'm' ), date ( 'd' )- date ( 'w' )+1-7, date ( 'Y' ));
mktime (23,59,59, date ( 'm' ), date ( 'd' )- date ( 'w' )+7-7, date ( 'Y' ));
//php获取本月起止时间戳 mktime (0,0,0, date ( 'm' ),1, date ( 'Y' ));
mktime (23,59,59, date ( 'm' ), date ( 't' ), date ( 'Y' ));
计算起止日期(列出起止日期区间所有日期) $data = $this ->date_range( date ( 'Y-m-d' , $time2 ), date ( 'Y-m-d' , $time1 ));
//起止日期计算 function date_range( $first , $last , $step = '+1 day' , $format = 'Y-m-d' )
{
$dates = array ();
$current = strtotime ( $first );
$last = strtotime ( $last );
while ( $current <= $last ) {
$dates [] = date ( $format , $current );
$current = strtotime ( $step , $current );
}
return $dates ;
}
/**
* 计算上一个月的今天,如果上个月没有今天,则返回上一个月的最后一天
* @param type $time
* @parma key 传入加减的月份数字
* @return type
*/
function last_month_today( $time , $key = '' ){
$last_month_time = mktime ( date ( "G" , $time ), date ( "i" , $time ),
date ( "s" , $time ), date ( "n" , $time ), 0, date ( "Y" , $time ));
$last_month_t = date ( "t" , $last_month_time );
if ( $last_month_t < date ( "j" , $time )) {
return date ( "Y-m-t H:i:s" , $last_month_time );
}
if (isset( $key )&&! empty ( $key )){
return date ( date ( "Y-m" , strtotime ( "-" . $key . "month" )) . "-d" , $time );
} else {
return date ( date ( "Y-m" , $last_month_time ) . "-d" , $time );
} }
|
版本文转自 liang3391 51CTO博客,原文链接:http://blog.51cto.com/liang3391/1841323