PHP封装时间类


开发中经常用到时间的一些操作,比如昨天,今天,前天,近七天,一周等等。

class time{ private $year;//年 private $month;//月 private $day;//天 private $hour;//小时 private $minute;//分钟 private $second;//秒 private $microtime;//毫秒 private $weekday;//星期 private $longDate;//完整的时间格式 private $diffTime;//两个时间的差值 //返回年份 time:时间格式为时间 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 } } //返回当前时间的月份 time:时间格式为时间 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; } //返回当前时间的天数 time:时间格式为时间 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; } //返回当前时间的小时 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; } //返回当前时间的分钟数 1:9:18 function getminute($time="",$type=""){ if($time==""){ $time=time(); } $this->minute=date("i",$time); //格式 09 return $this->minute; } //返回当前时间的秒数 20:19:01 function getsecond($time="",$type=""){ if($time==""){ $time=time(); } $this->second=date("s",$time); //格式 01 return $this->second; } //返回当前时间的星期数 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);//格式 数字表示 0--6 } return $this->weekday; } //比较两个时间的大小 格式 2018-8-21 8:4:3 function compare($time1,$time2){ $time1=strtotime($time1); $time2=strtotime($time2); if($time1>=$time2){ //第一个时间大于等于第二个时间 返回1 否则返回0 return 1; }else{ return -1; } } //比较两个时间的差值 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.‘小时‘.$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; }}


实例化这个对象

 $time_var = "2018-08-21"; $obj = new time(); $year = $obj->getyear($time_var); echo($year);

相关文章