<php
$StartMonth = '2014-08-12'; //开始日期
$EndMonth = '2015-10-20'; //结束日期
$ToStartMonth = strtotime( $StartMonth ); //转换一下
$ToEndMonth = strtotime( $EndMonth ); //一样转换一下
$i = false; //开始标示
while( $ToStartMonth < $ToEndMonth ) {
$NewMonth = !$i date('Y-m', strtotime('+0 Month', $ToStartMonth)) : date('Y-m', strtotime('+1 Month', $ToStartMonth));
$ToStartMonth = strtotime( $NewMonth );
$i = true;
echo $NewMonth, '<br/>';
}
测试效果
$now = time();
$now_m = date("m", $now);
$next_line = $now + 28 60 60 24 - 1;
if(date("m", $next_line ) == $now_m ){
$first = date("Ymd", strtotime(date("Y-m-1", $next_line )));
$last = date("Ymd", strtotime(date("Y-m-28", $next_line )));
}else if(date("m", $next_line + 60 60 24 ) == $now_m){
$first = date("Ymd", strtotime(date("Y-m-1", $next_line + 60 60 24 )));
$last = date("Ymd", strtotime(date("Y-m-29", $next_line + 60 60 24 )));
}else if(date("m", $next_line + 60 60 24 2 ) == $now_m){
$first = date("Ymd", strtotime(date("Y-m-1", $next_line + 60 60 24 2 )));
$last = date("Ymd", strtotime(date("Y-m-30", $next_line + 60 60 24 2 )));
}else if(date("m", $next_line + 60 60 24 3 ) == $now_m){
$first = date("Ymd", strtotime(date("Y-m-1", $next_line + 60 60 24 3 )));
$last = date("Ymd", strtotime(date("Y-m-31", $next_line + 60 60 24 3 )));
}
这里为了演示所以直接把那些相乘计算分开写了,写到程序里时建议直接写结果,减少程序执行时间,这个程序可以封成一个方法,传入一个时间戳就可以获得指定时间的下个月的头天和最后一天了。
首先你要明白,最后查询的语句肯定是一样的,一样的查询自然会得到一样的结果,至于你想只输入年和月就查询到结果,则只是将工作转移到程序上去处理而已;你想实现的效果代码处理如下:
$y=$_POST['year'],$m=$_POST['month'];
$t1=strtotime($y'-'$m'-1 0:0:0');
$t1=strtotime($y'-'$m'-31 23:59:59');
$sqltime=" actime >"$t1" and actime <"$t2);
1、首先在电脑上创建一个indexphp文件,编辑indexphp。
2、然后输入获取当天零点的时间戳,输入代码$today = strtotime(date("Y-m-d"),time());$time = strtotime($today);//获取到echo $time"<br />";//输出。
3、获取当天24点的时间戳$todayEnd = $today+606024;//家一天的时间echo $time = strtotime($todayEnd)"<br />";//输出。
4、获取前一天时间echo date("Y-m-d H:i:s",strtotime("-1 days"));。
5、以上即时间戳和前一天时间的获取。主要是对date()和strtotime()函数的灵活使用,就可以了。
/
获取指定日期之间的各个月
/
public function get_months($sdate, $edate) {
$range_arr = array();
do {
$monthinfo = $this->get_monthinfo_by_date($sdate);
$end_day = $monthinfo['month_end_day'];
$start = $this->substr_date($monthinfo['month_start_day']);
$end = $this->substr_date($monthinfo['month_end_day']);
$range = "{$start} ~ {$end}";
$range_arr[] = $range;
$sdate = date('Y-m-d', strtotime($sdate'+1 month'));
}while($end_day < $edate);
return $range_arr;
}
/
截取日期中的月份和日
@param string $date
@return string $date
/
public function substr_date($date) {
if ( ! $date) return FALSE;
return date('m-d', strtotime($date));
}
/
检查日期的有效性 YYYY-mm-dd
@param array $date_arr
@return boolean
/
public function check_date($date_arr) {
$invalid_date_arr = array();
foreach ($date_arr as $row) {
$timestamp = strtotime($row);
$standard = date('Y-m-d', $timestamp);
if ($standard != $row) $invalid_date_arr[] = $row;
}
if ( ! empty($invalid_date_arr)) {
die("invalid date -> "print_r($invalid_date_arr, TRUE));
}
}
以上就是关于PHP月份循环怎么做全部的内容,包括:PHP月份循环怎么做、php 下个月起始结束日期、请教php代码通过表单输入月份SQL查询的代码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)