PHP时间戳函数总结一览(转)
PHP语言中的函数有许多种,各种应用方式不同,实现的功能也不尽相同。我们在本文种为大家总结了PHP时间戳函数,希望能作为参考学习对象。
一,PHP时间戳函数获取指定日期的unix时间戳 strtotime(”2009-1-22″) 示例如下:
echo strtotime(”2009-1-22″) 结果:1232553600
说明:返回2009年1月22日0点0分0秒时间戳
二,PHP时间戳函数获取英文文本日期时间 示例如下:
便于比较,使用date将当时间戳与指定时间戳转换成系统时间
(1)打印明天此时的时间戳strtotime(”+1 day”)
当前时间:echo date(”Y-m-d H:i:s”,time()) 结果:2009-01-22 09:40:25
指定时间:echo date(”Y-m-d H:i:s”,strtotime(”+1 day”)) 结果:2009-01-23 09:40:25
(2)打印昨天此时的时间戳strtotime(”-1 day”)
当前时间:echo date(”Y-m-d H:i:s”,time()) 结果:2009-01-22 09:40:25
指定时间:echo date(”Y-m-d H:i:s”,strtotime(”-1 day”)) 结果:2009-01-21 09:40:25
(3)打印下个星期此时的时间戳strtotime(”+1 week”)
当前时间:echo date(”Y-m-d H:i:s”,time()) 结果:2009-01-22 09:40:25
指定时间:echo date(”Y-m-d H:i:s”,strtotime(”+1 week”)) 结果:2009-01-29 09:40:25
(4)打印上个星期此时的时间戳strtotime(”-1 week”)
当前时间:echo date(”Y-m-d H:i:s”,time()) 结果:2009-01-22 09:40:25
指定时间:echo date(”Y-m-d H:i:s”,strtotime(”-1 week”)) 结果:2009-01-15 09:40:25
(5)打印指定下星期几的时间戳strtotime(”next Thursday”)
当前时间:echo date(”Y-m-d H:i:s”,time()) 结果:2009-01-22 09:40:25
指定时间:echo date(”Y-m-d H:i:s”,strtotime(”next Thursday”)) 结果:2009-01-29 00:00:00
(6)打印指定上星期几的时间戳strtotime(”last Thursday”)
当前时间:echo date(”Y-m-d H:i:s”,time()) 结果:2009-01-22 09:40:25
指定时间:echo date(”Y-m-d H:i:s”,strtotime(”last Thursday”)) 结果:2009-01-15 00:00:00
以上PHP时间戳函数示例可知,strtotime能将任何英文文本的日期时间描述解析为Unix时间戳,我们结合mktime()或date()格式化日期时间获取指定的时间戳,实现所需要的日期时间。
示例:
<?php /*************************************************************************** * * Copyright (c) 2011 Baidu.com, Inc. All Rights Reserved * $Id$ * **************************************************************************/ //时间戳转日期 $date_time_array = getdate (1297845628); //1311177600 1316865566 $hours = $date_time_array [ "hours" ]; $minutes = $date_time_array [ "minutes" ]; $seconds = $date_time_array [ "seconds" ]; $month = $date_time_array [ "mon" ]; $day = $date_time_array [ "mday" ]; $year = $date_time_array [ "year" ]; echo "year:$year\nmonth:$month\nday:$day\nhour:$hours\nminutes:$minutes\nseconds:$seconds\n" ; //正常日期转时间戳 echo mktime (0, 0, 0, 9, 18, 2011) . "\n" ; echo mktime (0, 0, 0, 9, 25, 2011) . "\n" ; /* time(); 是获得当前时间,但获得的是一整型 */ //可以对此进行格式化 echo "time()显示年月日时分秒:" . date ( "Y-m-d H:i:s" , time()) . "\n" ; //这样连时,分秒一起显示 echo "time()只显示年月日:" . date ( "Y-m-d " , time()) . "\n" ; //只年示年月日 echo "时间戳格式化:" . date ( "Y-m-d H:i:s" , 1297845628) . "\n" ; //直接使用时间戳 /* vim: set ts=4 sw=4 sts=4 tw=100 noet: */ ?> |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步