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