本文实例讲述了php根据年月获取当月天数及日期数组的方法。分享给大家供大家参考,具体如下:
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
|
function get_day( $date ) { $tem = explode ( '-' , $date ); //切割日期 得到年份和月份 $year = $tem [ '0' ]; $month = $tem [ '1' ]; if ( in_array( $month , array ( 1 , 3 , 5 , 7 , 8 , 01 , 03 , 05 , 07 , 08 , 10 , 12))) { // $text = $year.'年的'.$month.'月有31天'; $text = '31' ; } elseif ( $month == 2 ) { if ( $year %400 == 0 || ( $year %4 == 0 && $year %100 !== 0) ) //判断是否是闰年 { // $text = $year.'年的'.$month.'月有29天'; $text = '29' ; } else { // $text = $year.'年的'.$month.'月有28天'; $text = '28' ; } } else { // $text = $year.'年的'.$month.'月有30天'; $text = '30' ; } return $text ; } echo get_day( '2016-8-1' ); |
运行结果为:31
改造,返回日期数组:
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
|
/** * 获取当月天数 * @param $date * @param $rtype 1天数 2具体日期数组 * @return */ function get_day( $date , $rtype = '1' ) { $tem = explode ( '-' , $date ); //切割日期 得到年份和月份 $year = $tem [ '0' ]; $month = $tem [ '1' ]; if ( in_array( $month , array ( 1 , 3 , 5 , 7 , 8 , 01 , 03 , 05 , 07 , 08 , 10 , 12))) { // $text = $year.'年的'.$month.'月有31天'; $text = '31' ; } elseif ( $month == 2 ) { if ( $year %400 == 0 || ( $year %4 == 0 && $year %100 !== 0) ) //判断是否是闰年 { // $text = $year.'年的'.$month.'月有29天'; $text = '29' ; } else { // $text = $year.'年的'.$month.'月有28天'; $text = '28' ; } } else { // $text = $year.'年的'.$month.'月有30天'; $text = '30' ; } if ( $rtype == '2' ) { for ( $i = 1; $i <= $text ; $i ++ ) { $r [] = $year . "-" . $month . "-" . $i ; } } else { $r = $text ; } return $r ; } var_dump(get_day( '2016-8-1' , '2' )); |
运行结果如下:
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
|
array (31) { [0]=> string(8) "2016-8-1" [1]=> string(8) "2016-8-2" [2]=> string(8) "2016-8-3" [3]=> string(8) "2016-8-4" [4]=> string(8) "2016-8-5" [5]=> string(8) "2016-8-6" [6]=> string(8) "2016-8-7" [7]=> string(8) "2016-8-8" [8]=> string(8) "2016-8-9" [9]=> string(9) "2016-8-10" [10]=> string(9) "2016-8-11" [11]=> string(9) "2016-8-12" [12]=> string(9) "2016-8-13" [13]=> string(9) "2016-8-14" [14]=> string(9) "2016-8-15" [15]=> string(9) "2016-8-16" [16]=> string(9) "2016-8-17" [17]=> string(9) "2016-8-18" [18]=> string(9) "2016-8-19" [19]=> string(9) "2016-8-20" [20]=> string(9) "2016-8-21" [21]=> string(9) "2016-8-22" [22]=> string(9) "2016-8-23" [23]=> string(9) "2016-8-24" [24]=> string(9) "2016-8-25" [25]=> string(9) "2016-8-26" [26]=> string(9) "2016-8-27" [27]=> string(9) "2016-8-28" [28]=> string(9) "2016-8-29" [29]=> string(9) "2016-8-30" [30]=> string(9) "2016-8-31" } |
希望本文所述对大家PHP程序设计有所帮助。