1、使用date()函数将UNIX时间戳转换为日期。
2、使用strtotime()函数将日期转换为UNIX时间戳。
在PHP中是可以完成日期格式转换的,不过有一个缺点就是占用PHP解析器的解析时间,因此速度会相对慢一些。但是这种方式也有优点,那就是不管是不是数据库中查询获得的数据都可以进行转换,转换范围不受限制。
实例
$y=date("Y",time());//年
$m=date("m",time());//月
$d=date("d",time());//日
echo$y."
";
echo$m."
";
echo$d."
";
$eight_clock=mktime(8,0,0,$m,$d,$y);//每天8点
echodate("Y-m-dH:i:s",$eight_clock)."
";
$day_time=mktime(0,0,0,$m,1,$y);//每月1号
echodate("Y-m-dH:i:s",$day_time)."
";
实例扩展:
//convertadateintoastringthattellshowlongago
//thatdatewas....eg:2daysago,3minutesago.
functionago($d){
$c=getdate();
$p=array('year','mon','mday','hours','minutes','seconds');
$display=array('year','month','day','hour','minute','second');
$factor=array(0,12,30,24,60,60);
$d=datetoarr($d);
for($w=0;$w<6;$w++){
if($w>0){
$c[$p[$w]]+=$c[$p[$w-1]]*$factor[$w];
$d[$p[$w]]+=$d[$p[$w-1]]*$factor[$w];
}
if($c[$p[$w]]-$d[$p[$w]]>1){
return($c[$p[$w]]-$d[$p[$w]]).''.$display[$w].'sago';
}
}
return'';
}
//youcanreplacethisifneedbe.
//Thisconvertsmydatesreturnedfromamysqldatestring
//intoanarrayobjectsimilartothatreturnedbygetdate().
functiondatetoarr($d){
preg_match("/([0-9]{4})(\\-)([0-9]{2})(\\-)([0-9]{2})([0-9]{2})(\\:)([0-9]{2})(\\:)([0-9]{2})/",$d,$matches);
returnarray(
'seconds'=>$matches[10],
'minutes'=>$matches[8],
'hours'=>$matches[6],
'mday'=>$matches[5],
'mon'=>$matches[3],
'year'=>$matches[1],
);
}
|