首页 后端开发 php教程 原创处理时间的类,请大家指正_PHP

原创处理时间的类,请大家指正_PHP

Jun 01, 2016 pm 12:35 PM
time 原创 处理 时间

timer.class.php

//###################### Start Introduce #######################################
// author: bluemaple ; email: bluemaple@x263.net
// 最后修改时间2002-1-28 1:35
// 此函数求解决返回时间显示格式问题。包括date()函数的所有格式,默认的$type为最常用的类型
// 除了$year,$month,$day,$hour,$minute,$second;添加了$week(周),$zone(一年中的第几天),$numMonth(当前月份的天数)
// 其中默认的都为最常用的格式
// 特点,在时间处理中用得最多的是mktime,这里设置mktime可以按照习惯输入(年,月,日)显示
// mktimeY();mktimeW();mktimeM();mktimeD();可以方便设置一个时间相隔y年,n月,在mysql检索中方便使用
// subTime();函数可以方便求得两个时间相差的天数,周等
//####################### End Introduce ########################################

class TIMER{
  var $year;   // 年
  var $month;  // 月
  var $day;    // 日
  var $hour;   // 时
  var $minute; // 分
  var $second; // 秒
  var $week;   // 周
  var $zone;   // 一年中的第几天
  var $numMonth; // 当前月份的天数
  var $mktime;  // mktime
     
  function year($time="",$type=0){ // 返回年
                                   // $type=0表示返回四位的年份
                                   // $type=1表示返回二位的年份
      if($time=="") $time=time();
      if($type==0) $this->year=date("Y",$time);
      if($type==1) $this->year=date("y",$time);
      return $this->year;
       }    
      
  function month($time="",$type=0){ // 返回月
                                    // $type=0表示返回1~12
                                    // $type=1表示返回01~12
                                    // $type=2表示返回jan..三个英文字母
                                    // $type=3表示返回英语全名
      if($time=="") $time=time();
      if($type==0) $this->month=date("n",$time);
      if($type==1) $this->month=date("m",$time);
      if($type==2) $this->month=date("M",$time);
      if($type==3) $this->month=date("F",$time);
      return $this->month;
      }   
      
  function day($time="",$type=0){ // 返回日
                                  // $type=0返回1~31
                                  // $type=1返回01~31
      if($time=="") $time=time();
      if($type==0) $this->day=date("j",$time);
      if($type==1) $this->day=date("d",$time);
      return $this->day;
      }    

  function hour($time="",$type=0){ // 返回时
                                   // $type=0返回1~24
                                   // $type=1返回1~12
                                   // $type=2返回01~24
                                   // $type=3返回01~12
      if($time=="") $time=time();
      if($type==0) $this->hour=date("H",$time);
      if($type==1) $this->hour=date("h",$time);
      if($type==2) $this->hour=date("G",$time);
      if($type==3) $this->hour=date("g",$time);
      return $this->hour;
      }    
      
  function minute($time="",$type=0){ // 返回分
      if($time=="") $time=time();
      if($type==0) $this->minute=date("i",$time);
      return $this->minute;
    }
   
  function second($time="",$type=0){ // 返回秒
                                     // $type=0 返回1~59
                                     // $type=1 返回字尾加英文序数,二个英文字母
      if($time=="") $time=time();
      if($type==0) $this->second=date("s",$time);
      if($type==1) $this->second=date("S",$time);
      return $this->second;
      }
  
  function week($time="",$type=0){ // 返回周
                                   // $type=0 返回0~6
                                   // $type=1 返回三个字母的周
                                   // $type=2 返回全字母的周
      if($time=="") $time=time();
      if($type==0) $this->week=date("w",$time);
      if($type==1) $this->week=date("D",$time);
      if($type==2) $this->week=date("l",$time);
      return $this->week;
      }
  
  function zone($time=""){ // 一年中的第几天;
        if($time=="") $time=time();
      $this->zone=date("z",$time);
      return $this->zone;
      }
  
  function numMonth($time=""){ // 当前月的天数
      if($time=="") $time=time();
      $this->numMonth=date("t",$time);
      return $this->numMonth;
      }

  function time($time=""){ //取得所有关于当前时间的参数。
      if($time=="") $time=time();
      $this->year($time);
      $this->month($time);
      $this->day($time);
      $this->hour($time);
      $this->minute($time);
      $this->second($time);
      $this->week($time);
      $this->zone($time);
      $this->numMonth($time);
      }  
   
  function mktime($year=0,$month=0,$day=0,$hour=0,$minute=0,$second=0){ // 年月日时分秒
      $this->mktime=mktime($hour,$minute,$second,$month,$day, $year);
      return $this->mktime;
      }
  
  function mktimeY($time="",$y=1){ // 取得某一时间y年以前的,默认为1
      $this->time($time);
      $this->mktime=mktime(0,0,0,$this->month,$this->day,($this->year-$y));
      return $this->mktime;
      }
  
  function mktimeM($time="",$m=1){ // 取得某一时间m月以前的,默认为1
      $this->time($time);
      $this->mktime=mktime(0,0,0,$this->month-$m,$this->day,$this->year);
      return $this->mktime;
      }
  
  function mktimeD($time="",$d=1){ // 取得某一时间d天以前的,默认为1天
      $this->time($time);
      $this->mktime=mktime(0,0,0,$this->month,$this->day-$d,$this->year);
      return $this->mktime;
      }
  
  function mktimeW($time="",$w=1){ // 取得某一时间w个周以前的,默认为1周
      $this->time($time);
      $this->mktime=mktime(0,0,0,$this->month,$this->day-7*$w,$this->year);
      return $this->mktime;
      }

  function subTime($aTime="",$bTime=""){ // 两个时间之差,后者减去前者
      if($aTime=="") $aTime = time();
      if($bTime=="") $bTime = time();
      $subTime = $bTime - $aTime;
      $this->second=intval($subTime);
      $this->minute=intval($subTime/60);
      $this->hour=intval($this->minute/60);
      $this->day=intval($this->hour/24);
      $this->week=intval($this->day/7);
      $this->month=intval($this->day/30);
      $this->year=intval($this->monday/12);
      }
}
?>
测试text.php

require("./timer.class.php");
//###################################
echo "
___________________________________
";
$TIMER=new TIMER;
$d=$TIMER->mktimeW();
$TIMER->subTime($d);
echo "second";echo $TIMER->second;echo "
";
echo "minute";echo $TIMER->minute;echo "
";
echo "hour";echo $TIMER->hour;echo "
";
echo "day";echo $TIMER->day;echo "
";
echo "week";echo $TIMER->week;echo "
";
echo "month";echo $TIMER->month;echo "
";
echo "year";echo $TIMER->year;echo "
";
echo "
___________________________________
";
?>

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
两个点博物馆:所有展览以及在哪里可以找到它们
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

WIN10服务主机太占cpu的处理操作过程 WIN10服务主机太占cpu的处理操作过程 Mar 27, 2024 pm 02:41 PM

1、首先我们右击任务栏空白处,选择【任务管理器】选项,或者右击开始徽标,然后再选择【任务管理器】选项。2、在打开的任务管理器界面,我们点击最右端的【服务】选项卡。3、在打开的【服务】选项卡,点击下方的【打开服务】选项。4、在打开的【服务】窗口,右击【InternetConnectionSharing(ICS)】服务,然后选择【属性】选项。5、在打开的属性窗口,将【打开方式】修改为【禁用】,点击【应用】后点击【确定】。6、点击开始徽标,然后点击关机按钮,选择【重启】,完成电脑重启就行了。

抖音10级灯牌多少钱?10级粉丝灯牌需要几天? 抖音10级灯牌多少钱?10级粉丝灯牌需要几天? Mar 11, 2024 pm 05:37 PM

在抖音平台上,许多用户都渴望获得等级认证,其中10级灯牌更是展示用户在抖音上的影响力和认可度。本文将深入探讨抖音10级灯牌的价格以及达到这一等级所需的时间,以帮助用户更好地了解这一过程。一、抖音10级灯牌多少钱?抖音10级灯牌的价格会受市场波动和供需情况的影响而有所差异,一般价格在几千元到万元之间。这个价格主要包括灯牌本身的成本和可能的服务费用。用户可以通过抖音官方渠道或第三方服务机构购买10级灯牌,但在购买时要留意选择合法渠道,以免遭遇虚假或欺诈交易。二、10级粉丝灯牌需要几天?达到10级灯牌

小红书发布作品时间怎么设置?发布作品时间准确吗? 小红书发布作品时间怎么设置?发布作品时间准确吗? Mar 24, 2024 pm 01:31 PM

小红书,一个充满生活气息与知识分享的平台,让越来越多的创作者在此畅所欲言。要想在小红书上获得更多的关注和点赞,除了内容质量之外,发布作品的时间也是至关重要的。那么,如何设置小红书发布作品的时间呢?一、小红书发布作品时间怎么设置?1.了解用户活跃时间首先,需要明确小红书用户的活跃时间。通常来说,晚上8点到10点以及周末下午是用户活跃度较高的时段。然而,这个时间段也会受到受众群体和地域等因素的影响而有所不同。因此,为了更好地把握用户活跃时段,建议对不同群体的行为习惯进行更详细的分析。通过了解用户的活

艾尔登法环通关需要多久 艾尔登法环通关需要多久 Mar 11, 2024 pm 12:50 PM

玩家在艾尔登法环中进行游戏时可以体验游戏主线剧情,以及收集游戏成就,有很多玩家不知道艾尔登法环通关需要多久,玩家的通关流程在30个小时。艾尔登法环通关需要多久答:30个小时。1、这个30个小时的通关时长指的虽然不是高手般的速通,但是也省略了很多的流程。2、如果你想获得更好的游戏体验或者是体验完整的剧情,那么时长上肯定要花费更多的时间。3、如果玩家是全收集大约要100-120小时。4、如果是只走主线刷BOSS大约:50-60小时。5、如果是想全部体验:150小时打底。

Linux 文件时间查看技巧详解 Linux 文件时间查看技巧详解 Feb 21, 2024 pm 01:15 PM

Linux文件时间查看技巧详解在Linux系统中,文件的时间信息对于文件管理和跟踪变更非常重要。Linux系统通过三种主要时间属性来记录文件的变更信息,分别是访问时间(atime)、修改时间(mtime)和更改时间(ctime)。本文将详细介绍如何查看和管理这些文件时间信息,并提供具体的代码示例。1.查看文件时间信息通过使用ls命令结合参数-l可以列出文

学习PHP中如何处理特殊字符转换单引号 学习PHP中如何处理特殊字符转换单引号 Mar 27, 2024 pm 12:39 PM

在PHP开发过程中,处理特殊字符是一个常见的问题,尤其是在字符串处理中经常会遇到特殊字符转义的情况。其中,将特殊字符转换单引号是一个比较常见的需求,因为在PHP中,单引号是一种常用的字符串包裹方式。在本文中,我们将介绍如何在PHP中处理特殊字符转换单引号,并提供具体的代码示例。在PHP中,特殊字符包括但不限于单引号(')、双引号(")、反斜杠()等。在字符串

gshock手表怎么调时间 gshock手表怎么调时间 Feb 21, 2024 pm 09:04 PM

许多用户不太清楚该怎么调整gshock手表的时间,整体的方法还是比较简单的,下面就给大家具体介绍一下gshock手表的调整的方法,不知道该怎么操作的用户可以参考一下。gshock手表怎么调时间1、首先按照ABCD把这几个按键给标注出来。A键:可以理解成退出键,一般是和C键一起用的。B键和D键可以理解成:加减键,也就是调节的键,比如现在是13点,调整到14点就按一下D键。C键是模式键,按一下就可以切换模式,一般手表的模式键都是在左下角的,会有mode这个英文。操作方法1、首先我们需要把手表调整到计

命运方舟困梦什么时候出 命运方舟困梦什么时候出 Mar 14, 2024 pm 03:00 PM

很多玩家想问命运方舟困梦什么时候出,困梦将在3月13日与我们见面,其次还有全新职业格斗家男、全新大陆罗温、神选英雄武器、新增BOSS等内容,具体内容一起来看看这篇命运方舟困梦上线时间介绍。命运方舟攻略大全命运方舟困梦什么时候出答:3月13日道具等级要求关卡1-关卡3需要道具等级达到:1540关卡4需要道具等级达到:1560掉落物品:梦幻之念、梦幻标志、坠落绝望之角。全新职业格斗家男1、特性:修罗能量,积攒修罗能量进入【拳王态势】2、职业属性:近战职业3、职业武器:重臂铠。全新大陆罗温1、开启方法

See all articles