加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_新乡站长网 (https://www.0373zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Unix > 正文

php UNIX时间戳用法详解

发布时间:2022-10-17 12:50:40 所属栏目:Unix 来源:
导读:  这篇文章主要介绍了php UNIX时间戳用法,结合实例形式分析了php Unix时间戳相关函数与使用技巧,需要的朋友可以参考下

  本文实例讲述了php UNIX时间戳用法。分享给大家供大家参考,具体如下:

  时间
  这篇文章主要介绍了php UNIX时间戳用法,结合实例形式分析了php Unix时间戳相关函数与使用技巧,需要的朋友可以参考下
 
  本文实例讲述了php UNIX时间戳用法。分享给大家供大家参考,具体如下:
 
  时间戳是文件属性中的创建、修改、和访问时间。数字时间戳服务是Web网站安全服务项目之一,能提供电子文件的日期和时间信息的安全保护。
 
  时间戳的优点是:
 
  可用变化的加密数值,防止数值被窃取后非法重复利用,起到加密的作用。时间戳主要依赖于时间,在约定的一段时间内产生唯一的一个数值。
 
  UNIX时间戳
 
  在UNIX系统中,日期与时间表示为自1970年1月1日零点起到当前时刻的秒数,这种时间被称为UNIX时间戳,以32位二进制数表示。在不同的操作系统中均支持这种时间表示方式,同一时间在UNIX和Windows中均以相同的UNIX时间戳表示,所以不需要在不同的系统中进行转换。
 
  目前UNIX时间戳是以32位二进制数表示,32位二进制数值范围为(-2147483648~+2147483647)unix时间戳,由于系统不支持负的时间戳,因此,目前UNIX时间戳能表示的最大时间为2038年1月19日3点14分7秒,该时刻的时间戳为2147483647。于该时间后,需要扩展UNIX时间戳的二进制位数。
 
  PHP获取指定日期的时间戳
 
  PHP中应用mktime()函数将一个时间转换成为UNIX时间戳值。
 
  语法如下
 
  mktime(hour,minute,second,month,day,year,is_dst)
 
  参数描述
 
  hour
 
  可选。规定小时。
 
  minute
 
  可选。规定分钟。
 
  second
 
  可选。规定秒。
 
  month
 
  可选。规定用数字表示的月。
 
  day
 
  可选。规定天。
 
  year
 
  可选。规定年。在某些系统上,合法值介于 1901 - 2038 之间。不过在 PHP 5 中已经不存在这个限制了。
 
  is_dst
 
  可选。如果时间在日光节约时间(DST)期间,则设置为1,否则设置为0,若未知,则设置为-1。
 
  自 5.1.0 起,is_dst 参数被废弃。因此应该使用新的时区处理特性。
 
  例如:
 
  echo "时间戳:".mktime().'
 
  ';//返回当前时间戳
 
  echo "任意日期:".date("Y-m-d",mktime(0,0,0,2,21,1996)).'
 
  ';
 
  echo "当前日期: ".date("Y-m-d",mktime()).'
 
  ';
 
  运行结果为:
 
  时间戳:1458979695
 
  任意日期:1996-02-21
 
  当前日期: 2016-03-26
 
  获取当前时间戳
 
  PHP通过time()函数获取当前的UNIX时间戳。
 
  语法如下:
 
  int time(void);
 
  该函数没有参数,返回值为UNIX时间戳的整数值。
 
  例如:
 
  echo time()."
 
  ";//输出当前时间戳
 
  $nextWeek = time()+(7*24*60*60);//一个星期七天,一天24小时,一个小时60分,一分60秒
 
  echo "Now: ".date("Y-m-d")."
 
  ";
 
  echo "Next Week: ".date("Y-m-d",$nextWeek);
 
  运行结果为
 
  1458980073
 
  Now: 2016-03-26
 
  Next Week: 2016-04-02
 
  将英文文本的日期时间描述解析为UNIX时间戳
 
  strtotime() 函数将任何英文文本的日期时间描述解析为 Unix 时间戳。
 
  语法
 
  strtotime(time,now)
 
  参数描述
 
  time
 
  规定要解析的时间字符串。
 
  now
 
  用来计算返回值的时间戳。如果省略该参数,则使用当前时间。
 
  例如:
 
  echo(strtotime("now")).'
 
  ';
 
  echo(strtotime("3 October 2005")).'
 
  ';
 
  echo(strtotime("+5 hours")).'
 
  ';
 
  echo(strtotime("+1 week")).'
 
  ';
 
  echo(strtotime("+1 week 3 days 7 hours 5 seconds")).'
 
  ';
 
  echo(strtotime("next Monday")).'
 
  ';
 
  echo(strtotime("last Sunday")).'
 
  ';
 
  运行结果为:
 
  1458980310
 
  1128268800
 
  1458998310
 
  1459585110
 
  1459869515
 
  1459094400
 
  1458403200
 
  如果想要查看这个时间戳对应的时间,例如:
 
  echo date("Y-m-d H:i:s",strtotime("now")).'
 
  ';
 
  echo date("Y-m-d H:i:s",strtotime("next Thursday")).'
 
  ';
 
  运行结果为:
 
  2016-03-26 16:21:32
 
  2016-03-31 00:00:00
 
  PS:本站还提供了一个Unix时间戳转换工具,包含了各种常见语言针对时间戳的操作方法,提供给大家参考:
 
  Unix时间戳(timestamp)转换工具:
 
  更多关于PHP相关内容感兴趣的读者可查看本站专题:《php日期与时间用法总结》、《PHP数组(Array)操作技巧大全》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《php正则表达式用法总结》、《php字符串(string)用法总结》及《php常见数据库操作技巧汇总》
 
  希望本文所述对大家PHP程序设计有所帮助。
 
 

(编辑:开发网_新乡站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章