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 版获取重定向后的地址(代码)
Jun 26 PHP
php的数组与字符串的转换函数整理汇总
Jul 18 PHP
一个好用的PHP验证码类实例分享
Dec 27 PHP
destoon找回管理员密码的方法
Jun 21 PHP
php+ajax实时输入自动搜索匹配的方法
Dec 26 PHP
PHP使用strtotime计算两个给定日期之间天数的方法
Mar 18 PHP
php实现的RSS生成类实例
Apr 23 PHP
PHP基于MySQL数据库实现对象持久层的方法
Jun 17 PHP
php使用number_format函数截取小数的方法分析
May 27 PHP
SAE实时日志接口SDK用法示例
Oct 09 PHP
浅谈PHP封装CURL
Mar 06 PHP
PHP中通过getopt解析GNU C风格命令行选项
Nov 18 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中round()函数对浮点数进行四舍五入的方法
2014/11/19 PHP
PHP解密Unicode及Escape加密字符串
2015/05/17 PHP
IE8 中使用加速器(Activities)
2010/05/14 Javascript
node.js使用npm 安装插件时提示install Error: ENOENT报错的解决方法
2014/11/20 Javascript
使用jQuery实现返回顶部
2015/01/26 Javascript
js实现刷新iframe的方法汇总
2015/04/27 Javascript
Nodejs获取网络数据并生成Excel表格
2020/03/31 NodeJs
jQuery实现选项卡功能(两种方法)
2017/03/08 Javascript
详解vue.js移动端导航navigationbar的封装
2017/07/05 Javascript
简单实现js放大镜效果
2017/07/24 Javascript
jquery鼠标悬停导航下划线滑出效果
2017/09/29 jQuery
vue页面跳转后返回原页面初始位置方法
2018/02/11 Javascript
如何将HTML字符转换为DOM节点并动态添加到文档中详解
2018/08/19 Javascript
如何在基于vue-cli的项目自定义打包环境
2018/11/10 Javascript
vue+render+jsx实现可编辑动态多级表头table的实例代码
2020/04/01 Javascript
VSCode插件安装完成后的配置(常用配置)
2020/08/24 Javascript
openlayers4.6.5实现距离量测和面积量测
2020/09/25 Javascript
vue 获取到数据但却渲染不到页面上的解决方法
2020/11/19 Vue.js
Python2.x和3.x下maketrans与translate函数使用上的不同
2015/04/13 Python
Python的爬虫程序编写框架Scrapy入门学习教程
2016/07/02 Python
浅谈Python2.6和Python3.0中八进制数字表示的区别
2017/04/28 Python
利用Python将文本中的中英文分离方法
2018/10/31 Python
python实现AES和RSA加解密的方法
2019/03/28 Python
Python生成MD5值的两种方法实例分析
2019/04/26 Python
django-allauth入门学习和使用详解
2019/07/03 Python
django 框架实现的用户注册、登录、退出功能示例
2019/11/28 Python
python 爬取腾讯视频评论的实现步骤
2021/02/18 Python
高清屏下canvas重置尺寸引发的问题的解决
2019/10/14 HTML / CSS
Urban Outfitters美国官网:美国生活方式品牌
2016/08/26 全球购物
Bibloo荷兰:女士、男士和儿童的服装、鞋子和配饰
2019/02/25 全球购物
Vrbo西班牙:预订您的度假公寓(公寓、乡村房屋…)
2020/04/27 全球购物
如果Session Bean得Remove方法一直都不被调用会怎么样
2012/07/14 面试题
好的自荐信包括什么内容
2013/11/07 职场文书
万能检讨书开头与结尾怎么写
2015/02/17 职场文书
史上最全的军训拉歌口号
2015/12/25 职场文书
《桂花雨》教学反思
2016/02/19 职场文书