PHP时间类完整实例(非常实用)

 更新时间:2015年12月25日 12:21:40   作者:释然me  
这篇文章主要介绍了PHP时间类完整实例,涉及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:时间格式为时间戳  2013-3-27
 function getyear($time="",$type=""){
 if($time==""){
  $time=time();
 }
 if($type==1){
  return $this->year=date("y",$time); //返回两位的年份 13
 }else{
  return $this->year=date("Y",$time); //返回四位的年份 2013
 }
 }
 //返回当前时间的月份 time:时间格式为时间戳 2013-3-27
 function getmonth($time="",$type=""){
 if($time==""){
  $time=time();
 }
 switch($type){
  case 1:$this->month=date("n",$time);//返回格式 3
   break;
  case 2:$this->month=date("m",$time);//返回格式 03
   break;
  case 3:$this->month=date("M",$time);//返回格式 Mar
   break;
  case 4:$this->month=date("F",$time);//返回格式 March
   break;
  default:$this->month=date("n",$time);
 }
 return $this->month; 
 }
 //返回当前时间的天数 time:时间格式为时间戳 2013-3-4 
 function getday($time="",$type=""){
 if($time==""){
  $time=time();
 }
 if($type==1){
  $this->day=date("d",$time);//返回格式 04
 }else{
  $this->day=date("j",$time);//返回格式 4
 }
 return $this->day;
 }
 //返回当前时间的小时  2010-11-10 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;
 }
 //比较两个时间的大小 格式 2013-3-4 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程序设计有所帮助。

相关文章

  • PHP数组操作汇总 php数组的使用技巧

    PHP数组操作汇总 php数组的使用技巧

    对于Web编程来说,最重要的就是存取和读写数据了。存储方式可能有很多种,可以是字符串、数组、文件的形式等。
    2011-07-07
  • PHP开发中常用的字符串操作函数

    PHP开发中常用的字符串操作函数

    在编程的过程当中,字符串的操作是非常重要的并且经常会被用到,字符串常用的操作具体的包括字符串的拼接,替换字符串,查找字符串,比较字符串,复制字符串以及计算字符串的长度等等.
    2011-02-02
  • php实现猴子选大王问题算法实例

    php实现猴子选大王问题算法实例

    这篇文章主要介绍了php实现猴子选大王问题算法,实例分析了算法的原理与解决方法,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-04-04
  • 递归实现php数组转xml的代码分享

    递归实现php数组转xml的代码分享

    本文以实例形式讲述了PHP实现数组递归转义的方法,分享给大家供大家参考之用。具体方法如下:
    2015-05-05
  • PHP函数超时处理方法

    PHP函数超时处理方法

    这篇文章主要介绍了PHP函数超时处理方法,结合实例形式分析了基于register_shutdown_function的超时处理相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-02-02
  • php数组函数序列之array_pop() - 删除数组中的最后一个元素

    php数组函数序列之array_pop() - 删除数组中的最后一个元素

    定义和用法array_pop() 函数删除数组中的最后一个元素。
    2011-11-11
  • 使用bcompiler对PHP文件进行加密的代码

    使用bcompiler对PHP文件进行加密的代码

    在网上无意间看到这个功能代码,还没有去试,以后有机会用到时在试一试。收藏一下。
    2010-08-08
  • php超详细讲解命名管道

    php超详细讲解命名管道

    这篇文章主要介绍了php中通过命名管道实现跨语言进程间通信的案例,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下
    2022-07-07
  • 基于PHP做个图片防盗链

    基于PHP做个图片防盗链

    本文主要介绍了Referer原理与图片防盗链实现方法,结合实例形式分析了Referer头信息原理与图片防盗链判定、实现方法,并附带一个Http请求封装类,需要的朋友可以参考下
    2022-12-12
  • php filter协议使用方法

    php filter协议使用方法

    php://filter是一种设计用来允许过滤器程序在打开时成为流的封装协议。这对于单独具有完整功能的文件函数非常有用,否则就没有机会在读取内容之前将过滤器应用于流之上
    2022-12-12

最新评论