PHP时间类完整代码实例

 更新时间:2021年02月26日 16:28:32   作者:PHP开发社区  
这篇文章主要介绍了PHP时间类完整代码实例,有感兴趣的同学可以借鉴参考下

开发中,经常用到时间的一些例子,比如昨天,今天,前天,近七天,一周等等。这里整理了一个时间的完整类实例,直接实例化,有需要的可以看看

以下直接代码

<?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时间类内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • laravel 关联关系遍历数组的例子

    laravel 关联关系遍历数组的例子

    今天小编就为大家分享一篇laravel 关联关系遍历数组的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • Yii2.0 模态弹出框+ajax提交表单

    Yii2.0 模态弹出框+ajax提交表单

    这篇文章主要介绍了Yii2.0 模态弹出框+ajax提交表单的实现思路和相关代码,非常简单实用,有需要的小伙伴可以参考下
    2016-05-05
  • php使用正则验证密码字段的复杂强度原理详细讲解

    php使用正则验证密码字段的复杂强度原理详细讲解

    密码涉及到安全问题,所以密码设计的复杂程序尤为重要。通常密码由大小写字母、数字、特殊符号组成。一般情况下前端可不做js判断,使用ajax提交php后端程序接口,由后端判断后返回json数据,进行用户密码复杂程序提示。
    2022-11-11
  • php实现当前页面点击下载文件的实例代码

    php实现当前页面点击下载文件的实例代码

    下面小编就为大家带来一篇php实现当前页面点击下载文件的实例代码。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • PHP开发框架laravel代码提示示例解析

    PHP开发框架laravel代码提示示例解析

    这篇文章主要为大家介绍了PHP开发框架laravel代码提示示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-04-04
  • PHP设计模式之观察者模式实例

    PHP设计模式之观察者模式实例

    一个对象通过添加一个方法(该方法允许另一个对象,即观察者 注册自己)使本身变得可观察。当可观察的对象更改时,它会将消息发送到已注册的观察者。通过本文给大家介绍PHP设计模式之观察者模式,需要的朋友参考下
    2016-02-02
  • php对二维数组进行排序的简单实例

    php对二维数组进行排序的简单实例

    这篇文章主要介绍了php对二维数组进行排序的简单实例,有需要的朋友可以参考一下
    2013-12-12
  • CI框架支持$_GET的两种实现方法

    CI框架支持$_GET的两种实现方法

    这篇文章主要介绍了CI框架支持$_GET的两种实现方法,实例分析了get传参方法与pathinfo两种方法的实现技巧,需要的朋友可以参考下
    2016-05-05
  • Thinkphp5结合layer弹窗定制操作结果页面

    Thinkphp5结合layer弹窗定制操作结果页面

    这篇文章主要介绍了Thinkphp5结合layer弹窗定制操作结果页面,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • PHP分页类集锦

    PHP分页类集锦

    本文汇集了几个比较好用的php分页类,都是经过广大网友考验的代码了,小伙伴们可以直接拿来使用
    2014-11-11

最新评论