php UNIX时间戳用法详解

不言
发布: 2018-05-02 10:31:30
原创
2382人浏览过

这篇文章主要介绍了php unix时间戳用法,结合实例形式分析了php unix时间戳相关函数与使用技巧,需要的朋友可以参考下

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

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

时间戳的优点是:

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

立即学习PHP免费学习笔记(深入)”;

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)

参数 描述
hour 可选。规定小时。
minute 可选。规定分钟。
second 可选。规定秒。
month 可选。规定用数字表示的月。
day 可选。规定天。
year 可选。规定年。在某些系统上,合法值介于 1901 - 2038 之间。不过在 PHP 5 中已经不存在这个限制了。
is_dst

可选。如果时间在日光节约时间(DST)期间,则设置为1,否则设置为0,若未知,则设置为-1。

自 5.1.0 起,is_dst 参数被废弃。因此应该使用新的时区处理特性。


例如:

echo "时间戳:".mktime().'<br>';//返回当前时间戳
echo "任意日期:".date("Y-m-d",mktime(0,0,0,2,21,1996)).'<br>';
echo "当前日期: ".date("Y-m-d",mktime()).'<br>';
登录后复制

运行结果为:

时间戳:1458979695
任意日期:1996-02-21
当前日期: 2016-03-26
登录后复制

获取当前时间戳

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

语法如下:

int time(void);

MindShow
MindShow

MindShow官网 | AI生成PPT,快速演示你的想法

MindShow 1492
查看详情 MindShow

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

例如:

echo time()."<br>";//输出当前时间戳
$nextWeek = time()+(7*24*60*60);//一个星期七天,一天24小时,一个小时60分,一分60秒
echo "Now: ".date("Y-m-d")."<br>";
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")).'<br>';
echo(strtotime("3 October 2005")).'<br>';
echo(strtotime("+5 hours")).'<br>';
echo(strtotime("+1 week")).'<br>';
echo(strtotime("+1 week 3 days 7 hours 5 seconds")).'<br>';
echo(strtotime("next Monday")).'<br>';
echo(strtotime("last Sunday")).'<br>';
登录后复制

运行结果为:

1458980310
1128268800
1458998310
1459585110
1459869515
1459094400
1458403200
登录后复制

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

echo date("Y-m-d H:i:s",strtotime("now")).'<br>';
echo date("Y-m-d H:i:s",strtotime("next Thursday")).'<br>';
登录后复制

运行结果为:

2016-03-26 16:21:32
2016-03-31 00:00:00
登录后复制

以上就是php UNIX时间戳用法详解的详细内容,更多请关注php中文网其它相关文章!

相关标签:
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号