当前位置: 首页 > 后端技术 > PHP

常用模块~PHP时间和日期

时间:2023-03-30 01:01:05 PHP

第一章Unix时间戳Unix时间戳:从UnixEpoch(1970年1月1日00:00:00格林威治标准时间)到当前时间的秒数。相关函数:time()---函数返回当前系统时间戳mktime()---获取日期的Unix时间戳格式:intmktime(hour[,minute[,second[,month[,day[,year[,is_dstarea]]]]]]);注:is_dst参数表示是否为夏令时,PHP5.10后该参数被废除。strtotime()---将任意英文文本的日期和时间描述解析成Unix时间戳格式:intstrtotime(string$time[,int$now])case://systemtimestampecho"Timestampofthecurrentsystem:"。时间();//seconds//mktime--给我年、月、日、时、分、秒,我就返回你一个时间戳,很少回显“获取指定日期2033-2-12的时间戳:”.mktime(0,0,0,2,12,2033);//strtotime()--如果用这个echo"获取指定日期2034-1-1的时间戳:".strtotime('2034-1-1');echo"获取3天前的时间戳:".strtotime('-3day');echo"获取3天后的时间戳:".strtotime('3day');第二章在PHP中获取日期和时间getdate--获取日期/时间信息。格式:arraygetdate([inttimestamp])返回包含基于时间戳的日期信息的组合数组。如果没有给出时间戳,则假定为当前本地时间。//getdate---获取日期/时间信息$date=getdate();//当前日期信息//$date=getdate(234456768);//获取指定时间戳的日期信息echo"

";//格式化输出print_r($date);//打印时间数组日期--格式化本地时间/日期。格式:stringdate(stringformat[,inttimestamp])返回整数时间戳按照给定格式字符串转换后生成的字符串。如果没有给出时间戳,则使用本地当前时间。Inotherwords,timestampisoptionalanddefaultstotime()(thecurrenttimestamp).?Forexample:echodate("Yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyym:M:yyyyyyyyyyyyyyyyyyyyyyyyyyy-m:yyyyyyyyyyyyyyyyyyyyyyyyyyy-m:yyyyyyyyyyyyyyyyyyyyyyyyyyyyy-m:yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy-m:yyyyyyyyyyyyyyyyyyyyyyyyyyyy-ororyyyyyyyyyyyyyyyyyym:yyyyyyyyyyyym:yd:y:i:s'):12n:月1-12d:日01-31j:日1-31H:小时24小时系统h:小时12系统i:分钟00-59s:second00-59w:dayoftheweek0-6A:AMorPMa:amorpm.Example://date---格式化本地时间/日期echodate("Yyearmmonthd",time());echodate("Y/m/d",time());echodate("Y-m-dH:i:s");//如果不写第二个参数,默认为当前时间戳第三章修改PHP默认时区修改PHP默认时区有两种方式:1.修改php.ini配置文件:date.timezone=PRC2.date_default_timezone_set():--为所有日期时间函数设置默认时区script.如:date_default_timezone_set("PRC");//中国时区。3.date_default_timezone_get():--获取当前时区case:date_default_timezone_set('PRC');//设置中国时区//date---格式化一个本地时间/日期echodate("Y年m月d",时间());回声日期(“年/月/日”,时间());echodate("Y-m-dH:i:s");//如果不写第二个参数,则默认为当前时间戳第4章用微秒计算PHP脚本执行时间1毫秒(ms)=0.001秒(s)1微秒(μs)=0.001毫秒(ms)1纳秒(ns)=0.001微秒(μs)microtime--返回当前Unix时间戳和微秒格式:mixedmicrotime([boolget_as_float])microtime()当前Unix时间戳和微秒。如果调用时不带可选参数,则此函数返回一个字符串,其中后者是自Unix纪元(格林威治标准时间1970年1月1日0:00:00)以来的秒数,前者是微秒部分。如果给定参数且其值等于TRUE,则microtime()将返回一个浮点数,该数字被截断为带秒的4位小数。$start=microtime(true);for($i=1;$i<10000;$i++){$tmp=13333/234;}$end=microtime(true);echo$end-$start;