zoukankan      html  css  js  c++  java
  • 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);
    
    
  • 相关阅读:
    python基础学习笔记第二天 内建方法(s t r)
    p ython笔记第三天
    (转)字符编码笔记:ASCII,Unicode和UTF8
    const char * 和 char *const
    自己的毕业设计windows管理软件
    自己实现string类
    关于vs2003环境支持win7 的 IP设置
    很犀利的错误
    很容易犯的错误
    用C++ 设计一个不能被继承的类
  • 原文地址:https://www.cnblogs.com/qixidi/p/10202518.html
Copyright © 2011-2022 走看看