分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

PHP封装时间类

发布时间:2023-09-06 02:28责任编辑:董明明关键词: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);

PHP封装时间类

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

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved