其实php时间戳转换日期的问题并不复杂,但是又很多的朋友都不太了解php时间转换成时间戳,因此呢,今天小编就来为大家分享php时间戳转换日期的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!
本文目录
一、php怎么将指定日期转换为时间戳
使用内置函数strtotime()在php中可以将指定日期转换为时间戳,具体 *** 作请参照以下步骤。
1、首先了解函数strtotime()的功能及用法。
2、然后在php的编辑器中输入要转化为时间戳的日期。
3、保存之后可以在浏览器中预览打印结果,目标日期的时间戳就出来了。
4、然后在php的编辑器中输入要转化为时间戳的标准时间格式的日期。
5、保存之后可以在浏览器中预览打印结果,标准时间格式日期的时间戳就出来了。完成以上设置后,即可在在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 Th *** sday”)
当前时间: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 Th *** sday”))结果:2009-01-29 00:00:00
(6)打印指定上星期几的时间戳strtotime(”last Th *** sday”)
当前时间: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 Th *** sday”))结果:2009-01-15 00:00:00
以上PHP时间戳函数示例可知,strtotime能将任何英文文本的日期时间描述解析为Unix时间戳,我们结合mktime()或date()格式化日期时间获取指定的时间戳,实现所需要的日期时间。
$date_time_array= getdate(1297845628);//13111776001316865566
$ho *** s=$date_time_array["ho *** s"];
$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"];
"year:$year\nmonth:$month\nday:$day\nho *** :$ho *** s\nminutes:$minutes\nseconds:$
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);
<一>、PHP时间大的来分有两种,一是时间戳类型(1228348800),二是正常日期格式(2008-12-4)
<二>、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/Ma *** ,Asia/Hong_Kong,Asia/Taipei(依次为 *** , *** ,台北)
这样就可以实现输出的是北京时间了
三、怎么在html中把时间戳转换成正常日期啊
1、如何把时间戳转成日期一般有两种方式,一个是使用脚本语言来转换好之后显示,一个是使用js来前台转换.
2、一:脚本语言方式(以PHP为例)[推荐]
3、在输出的时候遇到时间戳,一般都是使用脚本语言处理好之后传给前端来显示.一般的脚本语言中都有转换时间格式的 *** .例如PHP中的date ***
4、$time='1499655375';//时间戳一般为10位整型数字
5、$timestr=date('Y-m-dH:i:s',$time);//转换时,需要设置输出格式
6、echo$timestr;//输出2017-7-1010:56:15
在php或其他后台脚本处理完之后,然后传送给前端直接显示即可.
7、在php或其他后台脚本处理完之后,然后传送给前端直接显示即可.
8、如果后台程序不会转换或者其他原因只能接收到时间戳,那么就需要前端用 *** 来装换格式了.
9、varnewtime=time*1000;//这里需要注意js时间戳精确到毫秒,所以要乘以1000后转换.
10、// *** 一(格式受限于用户 *** ,不推荐):
11、alert(timestr);//输出格式2017/7/10上午10:56:15
12、 varyear=_time.getFullYear();//2017
13、 varmonth=_time.getMonth()+1;//7
14、 varho *** =_time.getHo *** s();//10
15、 varminute=_time.getMinutes();//56
16、 varsecond=_time.getSeconds();//15
17、 ret *** nyear+"年"+month+"月"+date+"日"+ho *** +":"+minute+":"+second;//这里自己按自己需要的格式拼接
18、alert(gettime(newtime));//输出2017年7月10日10:56:15
四、php 如何把5分钟转化为时间戳
PHP中的 strtotime()函数可以实现
strtotime()函数将任何英文文本的日期时间描述解析为 Unix时间戳。
now用来计算返回值的时间戳。如果省略该参数,则使用当前时间。
成功则返回时间戳,否则返回 FALSE。在 PHP 5.1.0之前本函数在失败时返回-1
在PHP中,时间戳是1970年1月1日0时0分到一个指定的时间点的秒数。5分钟是一个时间区间,不是一个时间点,所以不能转换为时间戳。除非把5分钟限定成一个时间点概念,例如:距离当前时间5分钟之前,距离1970年1月1日0时0分的5分钟之后。
搞清之后就是代码了,PHP中有两个可以生成时间戳的函数,mktime()和strtotime()
五、php怎么将指定期时间转为时间戳(时间戳精确到毫秒)
1、php并没有直接支持毫秒的日期时间函数,所以要想得到毫秒级的时间戳,就要把秒级的时间戳*1000。
2、需要注意的是,由于毫秒级的时间戳已经远远超过整数的大小范围,所以要用浮点数(且精度不能低于13位)来储存。
3、另外,要想把毫秒级的时间戳转为时间,务必先/1000再转换,否则错误,因为php并不认识所谓的毫秒级时间戳!
4、不过,虽然无法获得指定时间的毫秒级时间戳,但要想获得当前时间的毫秒数,却是有办法的:
好了,文章到此结束,希望可以帮助到大家。