PHP日期的转换成 Unix 时间戳函数mktime()

mktime

mktime — 取得一个日期的 Unix 时间戳

 

说明

int mktime ([ int $hour = date("H") [, int $minute = date("i") [, int $second = date("s") [, int $month = date("n") [, int $day = date("j") [, int $year = date("Y") [, int $is_dst = -1 ]]]]]]] )

根据给出的参数返回 Unix 时间戳。时间戳是一个长整数,包含了从 Unix 纪元(January 1 1970 00:00:00 GMT)到给定时间的秒数。

参数可以从右向左省略,任何省略的参数会被设置成本地日期和时间的当前值。

 

参数

hour :小时数。

minute :分钟数。

second :秒数(一分钟之内)。

month :月份数。

day :天数。

year :年份数,可以是两位或四位数字,0-69 对应于 2000-2069,70-100 对应于 1970-2000。

is_dst :本参数可以设为 1,表示正处于夏时制时间(DST),0 表示不是夏时制,或者 -1(默认值)表示不知道是否是夏时制。

 

返回值

mktime() 根据给出的参数返回 Unix 时间戳。如果参数非法,本函数返回 FALSE (在 PHP 5.1 之前返回 -1)。

  1. <?php
  2. echo  date ( "Y-m-d H:i:s" ,  mktime ( 15 ,  6 ,  28 ,  11 ,  32 ,  2017 ));//2017-12-02 15:06:28 对应参数:时,分,秒;月,日,年
  3. echo  date ( "Y-m-d H:i:s" ,  mktime ( 0 ,  0 ,  0 ,  2 ,  16 ,  2018 ));//2018-02-16 00:00:00
  4. echo  date ( "Y-m-d H:i:s" ,  mktime ( 0 ,  19 ,  0 ,  5 ,  25 ,  2019 ));//2019-05-25 00:19:00
  5. echo  date ( "Y-m-d H:i:s" ,  mktime ( 20 ,  0 ,  0 ,  1 ,  1 ,  20 ));//2020-01-01 20:00:00

PHP日期的转换成 Unix 时间戳函数mktime

我们在项目实践中,总会有很多设计需要定时的,例如:短信、邮箱验证码我只需要每天白天8:00~20:00才执行,晚上就不执行了;再比如:我要定时备份,备份我们通常是晚上2~3点左右开始备份;再例如:我想网站每天不同时间段显示不同的主题内容......等等;

每周,每月,每年定时执行原理都是一样的;

  1. <?php
  2. date_default_timezone_set('PRC');//设置时区
  3. $y=date("Y",time());
  4. $m=date("m",time());
  5. $d=date("d",time());
  6. echo $start_time = mktime(8, 0, 0, $m$d ,$y);//1483833600
  7. echo  date('Y-m-d H:i:s',$start_time);//2017-01-08 08:00:00
  8. echo '<hr>';
  9. echo $end_time = mktime(20, 0, 0, $m$d ,$y);//1483876800
  10. echo  date('Y-m-d H:i:s',$end_time);//2017-01-08 20:00:00
  11. echo '<hr>';
  12. echo $time = time();//1483877633
  13. echo date('Y-m-d H:i:s',$time);//2017-01-08 20:13:53
  14. if($time >= $start_time && $time <= $end_time)
  15. {
  16. echo '每天8:00~20:00执行任务!';
  17. }
  18. //* 每周,每月,每年执行定时任务同理!
    A+
发布日期:2017年01月08日 20:22:49  所属分类:PHP函数
最后更新时间:2017-01-08 20:25:55
付杰
  • ¥ 498.0元
  • 市场价:998.0元
  • ¥ 199.0元
  • 市场价:179.0元
  • ¥ 298.0元
  • 市场价:598.0元
  • ¥ 1980.0元
  • 市场价:2980.0元

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: