您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息
三六零分类信息网 > 汕尾分类信息网,免费分类信息发布

php 怎么实现时间戳转格式

2024/3/27 1:17:21发布40次查看
php实现时间戳转格式的方法:1、通过strtotime获取指定日期的unix时间戳;2、使用date函数将指定时间戳转换成系统时间格式即可。
本文操作环境:windows7系统,php7.1版,dell g3电脑。
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//时间戳转日期$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"; //可以对此进行格式化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"; //直接使用时间戳//把正常日期转成时间戳了,这里如果有时分秒也是同理,$year=((int)substr("2008-12-04",0,4));//取得年份$month=((int)substr("2008-12-04",5,2));//取得月份$day=((int)substr("2008-12-04",8,2));//取得几号echo mktime(0,0,0,$month,$day,$year); ?>
需要注意的部分
6435eeebd2f19b916bfdcb501758e943、php时间大的来分有两种,一是时间戳类型(1228348800),二是正常日期格式(2008-12-4)
77d226c7a2080f1d99ea5951bd228e92、php5.1以上时间戳会与实际时间相差8小时,解决办法如下
1、最简单的方法就是不要用php5.1以上的版本--显然这是不可取的方法!!!
2、修改php.ini。打开php.ini查找date.timezone 去掉前面的分号= 后面加asia/shanghai,重启apache服务器即可--缺点就是如果程序放到别人的服务器上,不能修改php.ini,那就奈何不得了。
3、在程序中添加时间的初始化的语句的 即:“date_default_timezone_set(asia/shanghai); ”这个可以由程序员任意设置,我的推荐。
时区标识符,大陆内地可用的值是:prc,asia/chongqing ,asia/shanghai ,asia/urumqi (依次为中国,重庆,上海,乌鲁木齐) ,etc/gmt-8,asia/harbin
港台地区可用:asia/macao ,asia/hong_kong ,asia/taipei (依次为澳门,香港,台北)
还有新加坡:asia/singapore
这样就可以实现输出的是北京时间了
推荐学习:《php视频教程》
以上就是php 怎么实现时间戳转格式的详细内容。
汕尾分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录