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);

原文地址:https://www.cnblogs.com/qixidi/p/10202518.html