这篇文章主要介绍了php UNIX时间戳用法,结合实例形式分析了php Unix时间戳相关函数与使用技巧,需要的朋友可以参考下
本文实例讲述了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 |
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时间戳。 语法如下:
该函数没有参数,返回值为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); 运行结果为
1458980073Now: 2016-03-26Next Week: 2016-04-02 将英文文本的日期时间描述解析为UNIX时间戳 strtotime() 函数将任何英文文本的日期时间描述解析为 Unix 时间戳。 语法
例如:
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>'; 运行结果为:
1458980310112826880014589983101459585110145986951514590944001458403200 如果想要查看这个时间戳对应的时间,例如:
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:322016-03-31 00:00:00
以上就是php UNIX时间戳用法详解的详细内容,更多请关注搞代码gaodaima其它相关文章! |