PHP時(shí)間類完整實(shí)例
發(fā)布時(shí)間:2018-08-23 13:04:07
來源:
最近開發(fā)中,經(jīng)常用到時(shí)間的一些例子,比如昨天,今天,前天,近七天,一周等等。這里整理了一個(gè)時(shí)間的完整類實(shí)例,直接實(shí)例化,有需要的可以看看
以下直接代碼
<?php
header("Content-type:text/html;Charset=utf-8");
class time{
private $year;//年
private $month;//月
private $day;//天
private $hour;//小時(shí)
private $minute;//分鐘
private $second;//秒
private $microtime;//毫秒
private $weekday;//星期
private $longDate;//完整的時(shí)間格式
private $diffTime;//兩個(gè)時(shí)間的差值
//返回年份 time:時(shí)間格式為時(shí)間 2018-8-21
function getyear($time="",$type=""){
if($time==""){
$time=time();
}
if($type==1){
return $this->year=date("y",$time); //返回兩位的年份 18
}else{
return $this->year=date("Y",$time); //返回四位的年份 2018
}
}
//返回當(dāng)前時(shí)間的月份 time:時(shí)間格式為時(shí)間 2018-8-21
function getmonth($time="",$type=""){
if($time==""){
$time=time();
}
switch($type){
case 1:$this->month=date("n",$time);//返回格式 8
break;
case 2:$this->month=date("m",$time);//返回格式 08
break;
case 3:$this->month=date("M",$time);//返回格式 Aug
break;
case 4:$this->month=date("F",$time);//返回格式 August
break;
default:$this->month=date("n",$time);
}
return $this->month;
}
//返回當(dāng)前時(shí)間的天數(shù) time:時(shí)間格式為時(shí)間 2018-8-21
function getday($time="",$type=""){
if($time==""){
$time=time();
}
if($type==1){
$this->day=date("d",$time);//返回格式 21
}else{
$this->day=date("j",$time);//返回格式 21
}
return $this->day;
}
//返回當(dāng)前時(shí)間的小時(shí) 2018-08-21 1:19:21 20:19:21
function gethour($time="",$type=""){
if($time==""){
$time=time();
}
switch($type){
case 1:$this->hour=date("H",$time);//格式: 1 20
break;
case 2:$this->hour=date("h",$time);//格式 01 08
break;
case 3:$this->hour=date("G",$time);//格式 1 20
break;
case 4:$this->hour=date("g",$time);//格式 1 8
break;
default :$this->hour=date("H",$time);
}
return $this->hour;
}
//返回當(dāng)前時(shí)間的分鐘數(shù) 1:9:18
function getminute($time="",$type=""){
if($time==""){
$time=time();
}
$this->minute=date("i",$time); //格式 09
return $this->minute;
}
//返回當(dāng)前時(shí)間的秒數(shù) 20:19:01
function getsecond($time="",$type=""){
if($time==""){
$time=time();
}
$this->second=date("s",$time); //格式 01
return $this->second;
}
//返回當(dāng)前時(shí)間的星期數(shù)
function getweekday($time="",$type=""){
if($time==""){
$time=time();
}
if($type==1){
$this->weekday=date("D",$time);//格式 Sun
}else if($type==2){
$this->weekday=date("l",$time); //格式 Sunday
}else{
$this->weekday=date("w",$time);//格式 數(shù)字表示 0--6
}
return $this->weekday;
}
//比較兩個(gè)時(shí)間的大小 格式 2018-8-21 8:4:3
function compare($time1,$time2){
$time1=strtotime($time1);
$time2=strtotime($time2);
if($time1>=$time2){ //第一個(gè)時(shí)間大于等于第二個(gè)時(shí)間 返回1 否則返回0
return 1;
}else{
return -1;
}
}
//比較兩個(gè)時(shí)間的差值
function diffdate($time1="",$time2=""){
//echo $time1.'------'.$time2.'<br>';
if($time1==""){
$time1=date("Y-m-d H:i:s");
}
if($time2==""){
$time2=date("Y-m-d H:i:s");
}
$date1=strtotime($time1);
$date2=strtotime($time2);
if($date1>$date2){
$diff=$date1-$date2;
}else{
$diff=$date2-$date1;
}
if($diff>=0){
$day=floor($diff/86400);
$hour=floor(($diff%86400)/3600);
$minute=floor(($diff%3600)/60);
$second=floor(($diff%60));
$this->diffTime='相差'.$day.'天'.$hour.'小時(shí)'.$minute.'分鐘'.$second.'秒';
}
return $this->diffTime;
}
//返回 X年X月X日
function buildDate($time="",$type=""){
if($type==1){
$this->longDate = $this->getyear($time) . '年' . $this->getmonth($time) . '月' . $this->getday($time) . '日';
}else{
$this->longDate = $this->getyear($time) . '年' . $this->getmonth($time) . '月' . $this->getday($time) . '日'.$this->gethour($time).':'.$this->getminute($time).':'.$this->getsecond($time);
}
return $this->longDate;
}
}
?>
實(shí)例化一個(gè)對(duì)象,
<?php
$time_var = "2018-08-21";
$obj = new time();
$year = $obj->getyear($time_var);
echo($year);
?>
以上其他的方法也可以按照上面那個(gè)例子,輸出你想要得到的日期,在開發(fā)過程中,可以直接放入在擴(kuò)展庫(kù)里,直接引用!