十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
先说原理,首先就是根据你表里面记录时间的字段的格式要方便些,还有你是一三十天为一个单位还是安装自然月为一个月。不论那种你也可以多种方式就是选择要显示的时间。那么就比较复杂,不过都大同小异。你可以可以用正则对时间进行处理,之后得到你的数据库表数据调用循环范围。然后对日期进行分类,之后每个分类里面的钱数进行相加。要做好也挺麻烦主要是要顾虑各种情况。不懂再问我把,就说这些了。
专注于为中小企业提供成都网站设计、网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业江北免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了成百上千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
本文实例讲述了php根据年月获取当月天数及日期数组的方法。分享给大家供大家参考,具体如下:
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
==
||
($year%4
==
$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
改造,返回日期数组:
/**
*
获取当月天数
*
@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
==
||
($year%4
==
$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'));
运行结果如下:
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相关内容感兴趣的读者可查看本站专题:《php日期与时间用法总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
php读取文件夹目录里的文件后,可以并按照日期,大小,名称排序。
参考代码如下:
function dir_size($dir,$url){
$dh = @opendir($dir); //打开目录,返回一个目录流
$return = array();
$i = 0;
while($file = @readdir($dh)){ //循环读取目录下的文件
if($file!='.' and $file!='..'){
$path = $dir.'/'.$file; //设置目录,用于含有子目录的情况
if(is_dir($path)){
}elseif(is_file($path)){
$filesize[] = round((filesize($path)/1024),2);//获取文件大小
$filename[] = $path;//获取文件名称
$filetime[] = date("Y-m-d H:i:s",filemtime($path));//获取文件最近修改日期
$return[] = $url.'/'.$file;
}
}
}
@closedir($dh); //关闭目录流
array_multisort($filesize,SORT_DESC,SORT_NUMERIC, $return);//按大小排序
//array_multisort($filename,SORT_DESC,SORT_STRING, $files);//按名字排序
//array_multisort($filetime,SORT_DESC,SORT_STRING, $files);//按时间排序
return $return; //返回文件
}
可按日期分组,如:
select count(1) from table_name group by date_format(date,'%y-%m-%d');
说明 : 统计每天数据量,table_name 表名 date 分组日期字段