Home  >  Article  >  Backend Development  >  (Practical) Complete example of PHP time class

(Practical) Complete example of PHP time class

黄舟
黄舟Original
2017-02-08 09:17:161213browse

(Practical) Complete Example of PHP Time Class

<?php
header("Content-type:text/html;Charset=utf-8");
class time{
 private $year;//年
 private $month;//月
 private $day;//天
 private $hour;//小时
 private $minute;//分钟
 private $second;//秒
 private $microtime;//毫秒
 private $weekday;//星期
 private $longDate;//完整的时间格式
 private $diffTime;//两个时间的差值
 //返回年份 time:时间格式为时间戳  2016-8-27
 function getyear($time="",$type=""){
 if($time==""){
  $time=time();
 }
 if($type==1){
  return $this->year=date("y",$time); //返回两位的年份 16
 }else{
  return $this->year=date("Y",$time); //返回四位的年份 2016
 }
 }
 //返回当前时间的月份 time:时间格式为时间戳 2016-8-27
 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:时间格式为时间戳 2016-8-29 
 function getday($time="",$type=""){
 if($time==""){
  $time=time();
 }
 if($type==1){
  $this->day=date("d",$time);//返回格式 29
 }else{
  $this->day=date("j",$time);//返回格式 29
 }
 return $this->day;
 }
 //返回当前时间的小时  2016-08-10 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;
 }
 //比较两个时间的大小 格式 2016-8-27 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.&#39;------&#39;.$time2.&#39;<br>&#39;;
 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=&#39;相差&#39;.$day.&#39;天&#39;.$hour.&#39;小时&#39;.$minute.&#39;分钟&#39;.$second.&#39;秒&#39;; 
 }
 return $this->diffTime;
 }
 //返回 X年X月X日
 function buildDate($time="",$type=""){
 if($type==1){   
  $this->longDate = $this->getyear($time) . &#39;年&#39; . $this->getmonth($time) . &#39;月&#39; . $this->getday($time) . &#39;日&#39;;  
 }else{
  $this->longDate = $this->getyear($time) . &#39;年&#39; . $this->getmonth($time) . &#39;月&#39; . $this->getday($time) . &#39;日&#39;.
  $this->gethour($time).&#39;:&#39;.$this->getminute($time).&#39;:&#39;.$this->getsecond($time);  
 }
 return $this->longDate;  
 }
}
?>

The above is the content of (Practical) Complete Example of PHP Time Class. For more related information, please Follow the PHP Chinese website (www.php.cn)!


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn