php UNIX时间戳用法详解


Posted in PHP onFebruary 16, 2017

本文实例讲述了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)

参数 描述
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);

该函数没有参数,返回值为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

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

Unix时间戳(timestamp)转换工具:
http://tools.3water.com/code/unixtime

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

PHP 相关文章推荐
PHP安全配置
Dec 06 PHP
用PHP 快速生成 Flash 动画的方法
Mar 06 PHP
php 清除网页病毒的方法
Dec 05 PHP
php中的strpos使用示例
Feb 27 PHP
php设置允许大文件上传示例代码
Mar 10 PHP
php实现扫描二维码根据浏览器类型访问不同下载地址
Oct 15 PHP
php实现在服务器上创建目录的方法
Mar 16 PHP
PHP获取客户端及服务器端IP的封装类
Jul 21 PHP
php中实现字符串翻转的方法
Feb 22 PHP
浅谈PHP表单提交(POST&amp;GET&amp;URL编/解码)
Apr 03 PHP
php curl上传、下载、https登陆实现代码
Jul 23 PHP
PHP程序员学习使用Swoole的理由
Jun 24 PHP
php计算多个集合的笛卡尔积实例详解
Feb 16 #PHP
php实现文件与16进制相互转换的方法示例
Feb 16 #PHP
php根据用户名和手机号查询是否存在手机号码
Feb 16 #PHP
php使用PDO执行SQL语句的方法分析
Feb 16 #PHP
php四种定界符详解
Feb 16 #PHP
php使用PDO获取结果集的方法
Feb 16 #PHP
redirect_uri参数错误的解决方法(必看)
Feb 16 #PHP
You might like
木翼下载系统中说明的PHP安全配置方法
2007/06/16 PHP
PHP针对常规模板引擎中与CSS/JSON冲突的解决方法
2014/08/19 PHP
laravel 验证错误信息到 blade模板的方法
2019/09/29 PHP
PHP简单实现图片格式转换(jpg转png,gif转png等)
2019/10/30 PHP
js 对象是否存在判断
2009/07/15 Javascript
浏览器打开层自动缓慢展开收缩实例代码
2013/07/04 Javascript
js图片向右一张张滚动效果实例代码
2013/11/23 Javascript
对table和ul实现js分页示例分享
2014/02/24 Javascript
JavaScript实现的一个计算数字步数的算法分享
2014/12/06 Javascript
jQuery的css()方法用法实例
2014/12/24 Javascript
jQuery实现仿QQ空间装扮预览图片的鼠标提示效果代码
2015/10/30 Javascript
JS 拦截全局ajax请求实例解析
2016/11/29 Javascript
javascript中活灵活现的Array对象详解
2016/11/30 Javascript
JS定时器实现数值从0到10来回变化
2016/12/09 Javascript
vue.js实现单选框、复选框和下拉框示例
2017/07/18 Javascript
vue的全局提示框组件实例代码
2018/02/26 Javascript
nodejs实现日志读取、日志查找及日志刷新的方法分析
2019/05/20 NodeJs
vue移动端实现手机左右滑动入场动画
2020/06/17 Javascript
[14:50]2018DOTA2亚洲邀请赛开幕式
2018/04/03 DOTA
Python实现的最近最少使用算法
2015/07/10 Python
Python列表删除的三种方法代码分享
2017/10/31 Python
python 常见字符串与函数的用法详解
2018/11/23 Python
Django项目中添加ldap登陆认证功能的实现
2019/04/04 Python
浅谈在JupyterNotebook下导入自己的模块的问题
2020/04/16 Python
使用pyplot.matshow()函数添加绘图标题
2020/06/16 Python
HTML5实现一个能够移动的小坦克示例代码
2013/09/02 HTML / CSS
canvas实现漂亮的下雨效果的示例
2018/04/18 HTML / CSS
美国马匹用品和骑马配件购物网站:Horse.com
2018/01/08 全球购物
Tommy Hilfiger澳洲官网:美国高端休闲领导品牌
2020/12/16 全球购物
什么是静态路由?什么是动态路由?各自的特点是什么?
2015/09/16 面试题
软件测试面试题
2015/10/21 面试题
机电一体化应届生求职信范文
2014/01/24 职场文书
公司会计主管岗位责任制
2014/03/01 职场文书
国防教育标语
2014/10/08 职场文书
2016年“9.22”世界无车日活动小结
2016/04/05 职场文书
python 如何用terminal输入参数
2021/05/25 Python