php UNIX时间戳用法详解

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

时间戳是文件属性中的创建、修改、和访问时间。数字时间戳服务是Web网站安全服务项目之一,能提供电子文件的日期和时间信息的安全保护。

时间戳的优点是:

可用变化的加密数值,防止数值被窃取后非法重复利用,起到加密的作用。时间戳主要依赖于时间,在约定的一段时间内产生唯一的一个数值。

UNIX时间戳

在UNIX系统中,日期与时间表示为自1970年1月1日零点起到当前时刻的秒数,这种时间被称为UNIX时间戳,以32位二进制数表示。在不同的操作系统中均支持这种时间表示方式,同一时间在UNIX和Windows中均以相同的UNIX时间戳表示,所以不需要在不同的系统中进行转换。

目前UNIX时间戳是以32位二进制数表示,32位二进制数值范围为(-2147483648~+2147483647),由于系统不支持负的时间戳,因此,目前UNIX时间戳能表示的最大时间为2038年1月19日3点14分7秒,该时刻的时间戳为2147483647。于该时间后,需要扩展UNIX时间戳的二进制位数。

PHP获取指定日期的时间戳

PHP中应用mktime()函数一个时间转换成为UNIX时间戳值。

语法如下

mktime(hour,minute,second,month,day,year,is_dst)

display: table; border-collapse: collapse; font: 14px/26px Arial; white-space: normal; margin-bottom: 10px; letter-spacing: normal; color: rgb(0,0); word-spacing: 0px; -webkit-text-stroke-width: 0px"> ottom: rgb(153,153,153) 1px solid; min-width: 25px; border-left: rgb(153,153) 1px solid; padding-bottom: 5px; min-height: 25px; padding-left: 12px; padding-right: 16px; height: 25px; word-break: break-all; border-top: rgb(153,153) 1px solid; border-right: rgb(153,153) 1px solid; padding-top: 5px">参数 ottom: rgb(153,153) 1px solid; padding-top: 5px">hourottom: rgb(153,153) 1px solid; padding-top: 5px">可选。规定小时。ottom: rgb(153,153) 1px solid; padding-top: 5px">minuteottom: rgb(153,153) 1px solid; padding-top: 5px">可选。规定分钟。ottom: rgb(153,153) 1px solid; padding-top: 5px">secondottom: rgb(153,153) 1px solid; padding-top: 5px">可选。规定秒。ottom: rgb(153,153) 1px solid; padding-top: 5px">monthottom: rgb(153,153) 1px solid; padding-top: 5px">可选。规定用数字表示的月。ottom: rgb(153,153) 1px solid; padding-top: 5px">dayottom: rgb(153,153) 1px solid; padding-top: 5px">可选。规定天。ottom: rgb(153,153) 1px solid; padding-top: 5px">yearottom: rgb(153,153) 1px solid; padding-top: 5px">可选。规定年。在某些系统上,合法值介于 1901 - 2038 之间。不过在 PHP 5 中已经不存在这个限制了。ottom: rgb(153,153) 1px solid; padding-top: 5px">is_dstottom: rgb(153,153) 1px solid; padding-top: 5px">

ottom: 0px; margin: 5px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px">可选。如果时间在日光节约时间(DST)期间,则设置为1,否则设置为0,若未知,则设置为-1。

ottom: 0px; margin: 5px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px">自 5.1.0 起,is_dst 参数被废弃。因此应该使用新的时区处理特性。

例如:

rush:PHP;"> echo "时间戳:".mktime().'
';//返回当前时间戳 echo "任意日期:".date("Y-m-d",mktime(0,2,21,1996)).'
'; echo "当前日期: ".date("Y-m-d",mktime()).'
';

运行结果为:

rush:PHP;"> 时间戳:1458979695 任意日期:1996-02-21 当前日期: 2016-03-26

获取当前时间戳

PHP通过time()函数获取当前的UNIX时间戳。

语法如下:

int time(void);

函数没有参数,返回值为UNIX时间戳的整数值。

例如:

rush:PHP;"> 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);

运行结果为

rush:PHP;"> 1458980073 Now: 2016-03-26 Next Week: 2016-04-02

将英文文本的日期时间描述解析为UNIX时间戳

strtotime() 函数将任何英文文本的日期时间描述解析为 Unix 时间戳。

语法

strtotime(time,Now)

ottom: rgb(153,153) 1px solid; padding-top: 5px">描述
display: table; border-collapse: collapse; font: 14px/26px Arial; white-space: normal; margin-bottom: 10px; letter-spacing: normal; color: rgb(0,0); word-spacing: 0px; -webkit-text-stroke-width: 0px"> ottom: rgb(153,153) 1px solid; padding-top: 5px">参数 ottom: rgb(153,153) 1px solid; padding-top: 5px">timeottom: rgb(153,153) 1px solid; padding-top: 5px">规定要解析的时间字符串。ottom: rgb(153,153) 1px solid; padding-top: 5px">Nowottom: rgb(153,153) 1px solid; padding-top: 5px">用来计算返回值的时间戳。如果省略该参数,则使用当前时间。 例如:

rush:PHP;"> 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")).'
';

运行结果为:

rush:PHP;"> 1458980310 1128268800 1458998310 1459585110 1459869515 1459094400 1458403200

如果想要查看这个时间戳对应的时间,例如:

rush:PHP;"> echo date("Y-m-d H:i:s",strtotime("Now")).'
'; echo date("Y-m-d H:i:s",strtotime("next Thursday")).'
';

运行结果为:

rush:PHP;"> 2016-03-26 16:21:32 2016-03-31 00:00:00

PS:本站还提供了一个Unix时间戳转换工具,包含了各种常见语言针对时间戳的操作方法,提供给大家参考:

Unix时间戳(timestamp)转换工具:

更多关于PHP相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》及《

希望本文所述对大家PHP程序设计有所帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


服务器优化必备:深入了解PHP8底层开发原理
Golang的网络编程:如何快速构建高性能的网络应用?
Golang和其他编程语言的对比:为什么它的开发效率更高?
PHP8底层开发原理揭秘:如何利用新特性创建出色的Web应用
将字符重新排列以形成回文(如果可能)在C++中
掌握PHP8底层开发原理和新特性:创建高效可扩展的应用程序
服务器性能优化必学:掌握PHP8底层开发原理
PHP8新特性和底层开发原理详解:优化应用性能的终极指南
将 C/C++ 代码转换为汇编语言
深入研究PHP8底层开发原理:创建高效可扩展的应用程序
C++程序查找法向量和迹
PHP8底层开发原理实战指南:提升服务器效能
重排数组,使得当 i 为偶数时,arr[i] >= arr[j],当 i 为奇数时,arr[i] <= arr[j],其中 j < i,使用 C++ 语言实现
Golang的垃圾回收:为什么它可以减少开发人员的负担?
C++程序:将一个数组的所有元素复制到另一个数组中
Golang:构建智能系统的基石
为什么AI开发者应该关注Golang?
在C和C++中,逗号(comma)的用法是用来分隔表达式或语句
PHP8底层开发原理解析及新特性应用实例
利用PHP8底层开发原理解析新特性:如何构建出色的Web应用
ottom: rgb(153,153) 1px solid; padding-top: 5px">描述