php unix时间戳 秒,UNIX时间戳怎么在php项目中使用

本文详细介绍了在PHP项目中如何使用UNIX时间戳,包括如何获取当前时间戳、指定日期时间戳以及通过strtotime函数解析日期时间。还提到了UNIX时间戳的局限性,如2038年问题,并提供了多个示例代码展示其用法。
摘要由CSDN通过智能技术生成

UNIX时间戳怎么在php项目中使用

发布时间:2021-01-15 16:52:13

来源:亿速云

阅读:55

作者:Leah

这篇文章将为大家详细讲解有关UNIX时间戳怎么在php项目中使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

时间戳是文件属性中的创建、修改、和访问时间。数字时间戳服务是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().'
';//返回当前时间戳

echo "任意日期:".date("Y-m-d",mktime(0,0,0,2,21,1996)).'
';

echo "当前日期: ".date("Y-m-d",mktime()).'
';

运行结果为:时间戳:1458979695

任意日期:1996-02-21

当前日期: 2016-03-26

获取当前时间戳

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

语法如下:

int time(void);

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

例如: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);

运行结果为1458980073

Now: 2016-03-26

Next Week: 2016-04-02

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

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

语法

strtotime(time,now)参数描述

time规定要解析的时间字符串。

now用来计算返回值的时间戳。如果省略该参数,则使用当前时间。

例如: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")).'
';

运行结果为:1458980310

1128268800

1458998310

1459585110

1459869515

1459094400

1458403200

如果想要查看这个时间戳对应的时间,例如:echo date("Y-m-d H:i:s",strtotime("now")).'
';

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

运行结果为:2016-03-26 16:21:32

2016-03-31 00:00:00

关于UNIX时间戳怎么在php项目中使用就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值