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 相关文章推荐
多文件上载系统完整版
Oct 09 PHP
如何使用PHP往windows中添加用户
Dec 06 PHP
php字符串截取中文截取2,单字节截取模式
Dec 10 PHP
php中配置文件操作 如config.php文件的读取修改等操作
Jul 07 PHP
php遍历所有文件及文件夹的方法深入解析
Jun 08 PHP
php中如何使对象可以像数组一样进行foreach循环
Aug 09 PHP
Linux+Nginx+MySQL下配置论坛程序Discuz的基本教程
Dec 23 PHP
深入理解PHP之OpCode原理详解
Jun 01 PHP
CI框架AR数据库操作常用函数总结
Nov 21 PHP
php+redis消息队列实现抢购功能
Feb 08 PHP
PHP DB 数据库连接类定义与用法示例
Mar 11 PHP
laravel admin实现分类树/模型树的示例代码
Jun 10 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
mysql_fetch_assoc和mysql_fetch_row的功能加起来就是mysql_fetch_array
2007/01/15 PHP
php基于curl重写file_get_contents函数实例
2016/11/08 PHP
use jscript List Installed Software
2007/06/11 Javascript
常用简易JavaScript函数
2009/04/09 Javascript
jQuery阻止事件冒泡具体实现
2013/10/11 Javascript
js实现浏览器的各种菜单命令比如打印、查看源文件等等
2013/10/24 Javascript
js实现局部页面打印预览原理及示例代码
2014/07/03 Javascript
EasyUi datagrid 实现表格分页
2015/02/10 Javascript
跟我学习javascript的全局变量
2015/11/16 Javascript
BootStrap 图片样式、辅助类样式和CSS组件的实例详解
2017/01/20 Javascript
解决vue接口数据赋值给data没有反应的问题
2018/08/27 Javascript
Vue 中可以定义组件模版的几种方式
2019/08/06 Javascript
js实现点击图片在屏幕中间弹出放大效果
2019/09/11 Javascript
vue2和vue3的v-if与v-for优先级对比学习
2020/10/10 Javascript
JS实现简易图片自动轮播
2020/10/16 Javascript
使用PyInstaller将Python程序文件转换为可执行程序文件
2016/07/08 Python
python安装PIL模块时Unable to find vcvarsall.bat错误的解决方法
2016/09/19 Python
python实现五子棋游戏
2019/06/18 Python
python打造爬虫代理池过程解析
2019/08/15 Python
Django框架 querySet功能解析
2019/09/04 Python
Python any()函数的使用方法
2019/10/28 Python
pandas中ix的使用详细讲解
2020/03/09 Python
Django基于Models定制Admin后台实现过程解析
2020/11/11 Python
英国知名的皮手套品牌:Dents
2016/11/13 全球购物
福克斯租车:Fox Rent A Car
2017/04/13 全球购物
红旗方阵解说词
2014/02/12 职场文书
2014厂务公开实施方案
2014/02/17 职场文书
市场营销方案范文
2014/03/11 职场文书
考核工作实施方案
2014/03/30 职场文书
综合办公室主任岗位职责
2014/04/13 职场文书
法人代表身份证明书及授权委托书
2014/09/16 职场文书
介绍信如何写
2015/01/31 职场文书
Python机器学习之底层实现KNN
2021/06/20 Python
JS数组方法some、every和find的使用详情
2021/10/05 Javascript
SQL Server实现分页方法介绍
2022/03/16 SQL Server
Go并发4种方法简明讲解
2022/04/06 Golang