开发中,经常用到时间的一些例子,比如昨天,今天,前天,近七天,一周等等。这里整理了一个时间的完整类实例,直接实例化,有需要的可以看看
以下直接代码
<?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:时间格式为时间 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;
}
}
?>
实例化一个对象
<?php
$time_var = "2018-08-21";
$obj = new time();
$year = $obj->getyear($time_var);
echo($year);
?>
以上其他的方法也可以按照上面那个例子,输出你想要得到的日期,在开发过程中,可以直接放入在扩展库里,直接引用!
到此这篇关于PHP时间类完整代码实例的文章就介绍到这了,更多相关PHP时间类内容请搜索易知道(ezd.cc)以前的文章或继续浏览下面的相关文章希望大家以后多多支持易知道(ezd.cc)!