php日期年月日
A. php如何读取月份及日期
include("conn.php");
$a="select*fromqiandanorderbyid";
$res=mysql_query($a,$conn);
$r=mysql_fetch_array($res);
$date=$r['date'];
echo$t;
date('m',strtotime('2011-08-25'));
echo$yue;
B. php应用:获取日期正则表达式:\\d{4}[年|\-|\.]\d{\1-\12}[月|\-|\.]\d{\1-\31}日
^d{4}(年|-|.)(0?[1-9]|1[0-2])(月|-|.)(0?[1-9]|[1-2]d|3[0-1])日?$
这种是还是有缺陷的你可以看到最后一个,还有就是2月31日这样的也会被匹配的。不过应对一般日期还是可以的。
C. PHP如何用正则表达式把标准时间年月日转为横杠形式
首先,应该是双反斜杠,不是单反斜杠
这里提供两种方式
str_replace(array('年','月'),'-',$date_str);
date('Y-m-d H:i',strtotime($date_str));
D. php中将一年12个月的日历全部输出。如何做
<?php
//SKY8G提供
function cal_days_in_year($year){
$days=0;
for($month=1;$month<=12;$month++){
$days = $days + cal_days_in_month(CAL_GREGORIAN,$month,$year);
}
return $days;
}
//闰年
echo "这是闰年一年有:".cal_days_in_year(2000)."天";
echo "\n";
//平年
echo "这是平年一年有:".cal_days_in_year(1999)."天";
echo "\n";
//2019年
echo "今年2019年有:".cal_days_in_year(date('Y',time()))."天";
echo "\n";
//接下来我们是用php的内置函数cal_days_in_month()
$d=cal_days_in_month(CAL_GREGORIAN,2,2010);
echo "2010 年平年 2 月有 $d 天。\n";
$d=cal_days_in_month(CAL_GREGORIAN,2,2000);
echo "2000 年闰年 2 月有 $d 天。";
echo "\n";
$d=cal_days_in_month(CAL_GREGORIAN,4,2010);
echo "2010 年平年 4 月有 $d 天。\n";
$d=cal_days_in_month(CAL_GREGORIAN,4,2000);
echo "2000 年闰年 4 月有 $d 天。";
echo "\n";
$d=cal_days_in_month(CAL_GREGORIAN,8,2010);
echo "2010 年平年 8 月有 $d 天。\n";
$d=cal_days_in_month(CAL_GREGORIAN,8,2000);
echo "2000 年闰年 8 月有 $d 天。";
//详情如果想了解详情去sky8g网观看,希望对你有帮助!
E. 关于PHP 时间戳转换年月日问题。
<?PHP
/*
*==============================
*此方法由mantye提供
*http://my.oschina.net/u/223350
*@date2014-07-22
*==============================
*@description取得两个时间戳相差的年龄
*@before较小的时间戳
*@after较大的时间戳
*@returnstr返回相差年龄y岁m月d天
**/
$after=1529380306;
$before=time();
functiondatediffage($before,$after){
if($before>$after){
$b=getdate($after);
$a=getdate($before);
}else{
$b=getdate($before);
$a=getdate($after);
}
$n=array(1=>31,2=>28,3=>31,4=>30,5=>31,6=>30,7=>31,8=>31,9=>30,10=>31,11=>30,12=>31);
$y=$m=$d=0;
if($a['mday']>=$b['mday']){//天相减为正
if($a['mon']>=$b['mon']){//月相减为正
$y=$a['year']-$b['year'];$m=$a['mon']-$b['mon'];
}else{//月相减为负,借年
$y=$a['year']-$b['year']-1;$m=$a['mon']-$b['mon']+12;
}
$d=$a['mday']-$b['mday'];
}else{//天相减为负,借月
if($a['mon']==1){//1月,借年
$y=$a['year']-$b['year']-1;$m=$a['mon']-$b['mon']+12;$d=$a['mday']-$b['mday']+$n[12];
}else{
if($a['mon']==3){//3月,判断闰年取得2月天数
$d=$a['mday']-$b['mday']+($a['year']%4==0?29:28);
}else{
$d=$a['mday']-$b['mday']+$n[$a['mon']-1];
}
if($a['mon']>=$b['mon']+1){//借月后,月相减为正
$y=$a['year']-$b['year'];$m=$a['mon']-$b['mon']-1;
}else{//借月后,月相减为负,借年
$y=$a['year']-$b['year']-1;$m=$a['mon']-$b['mon']+12-1;
}
}
}
return($y==0?'':$y.'年').($m==0?'':$m.'个月').($d==0?'':$d.'天');
}
echodatediffage($before,$after)
?>