php时间戳,在开发的时候还是用得比较多,在MYSQL数据库中他是以字符串的形式存储的,而在本文中将介绍如何把php时间戳转成普通日期,或将普通日期转换成时间戳
php时间戳显示的样式为:1285724523 输出php时间戳,很简单: echo time();,这样就直接输出时间载了,而我们普通的日期输出呢 普通日期输出:2010-09-29,这样用PHP输出是:echo date('Y-m-d');,当然中间的间隔符“-”是自己可用任意字符间隔的 还有带时间的日期输出:2010-09-29 01:46:23 用php输出是:echo date('Y-m-d H:i:s'); 了解他们的显示形式及代码后,现在来看看他们是通过什么来互转换的 先说把PHP时间戳转成普通日期形式 $date=date('Y-m-d',"1285724523"); echo $date; 以上两句就是把时间载转换成普通日期形式,运行结果为:2010-09-29,把后面的时分秒给省略了。 那如果把以上的2010-09-29转成时间戳呢,又是如何实现呢,请看代码: $date=date('Y-m-d',"1285724523"); $temp=explode("-",$date); echo mktime(0,0,0,$temp[1],$temp[2],$temp[0]); 第二行有用到函数explode,这个函数大家可以牢记,因为会经常用到,就是把字符串转成数组,而分隔符就自己指定了,我们这里是用“-”.接下来用 mktime函数把年月日转成时间戳形式,这样运行后输出是1285718400,大家会问和1285724523对不上,这样结果不对啊,这就错了,因 为1285724523这个是带时分秒的,所以对不上,但结果正确的。 那么不带时分秒的日期与php时间戳转换大家应该也全明白了吧,接下来呶呶博客进一步分析带时分秒的日期形式与时间戳的转换. 先说把PHP时间戳转成普通带时分秒的日期形式 $date=date('Y-m-d H:i:s',"1285724523"); echo $date; 很简单吧,和上面的对照只加了H:i:s格式,这样运行结果就是:2010-09-29 01:42:03这样了 最后要说明的就是将时间戳转成带时分秒的日期形式,会稍复杂点,因为要通过三个explode函数切割字符字串,大家看过mktime() 函数说明就知道吧,我上面指定的时分秒是为0,现在加上。 $date=date('Y-m-d H:i:s',"1285724523"); echo $date."<br>"; $temp=explode(" ",$date); $temp1=explode("-",$temp[0]); $temp2=explode(":",$temp[1]); echo mktime($temp2[0],$temp2[1],$temp2[2],$temp1[1],$te mp1[2],$temp1[0]); 运行结果,首先第一行是显示2010-09-29 01:42:03 第二行是显示1285724523 ,数据完全相同了,好,呶呶博客对php时间戳与日期的转换研究就到这里了 1.用echo、print、print_r、var_export或var_dump等直接输出到浏览器 这种情况在页面调试代码前面没有出现中断和跳转http://beauty.qianshou.com/,一般后面跟exithttp://zx.cnmeiye.com/。 项目正式上线以后这些调试代码是去掉还是加上注释呢,如果不去掉,会显得垃圾代码过多,性能也许有点小问题。 2.把需要输出的变量的值写入文件 这种情况一般都是用PHP网络函数实现Socket链接,如任何通过 fopen(),fsockopen() 和 pfsockopen() 建立的连接。 这种调试方法最适用的地方是请求不是来自于浏览器,而是来自于客户端软件(附录 L. 支持的协议/封装协议列表),特别是在开发调试阶段,如果没有日志,则程序几乎无法调试(因为程序是被客户端调用的,是没有界面的,此时用echo这种调试方式是不行的) 例如ucenter 整合第三方PHP应用程序,ucenter向多个应用建立连接,我们只要在第三方PHP应用程序uc.php里面$get变量写入文件,然后读文件,就能知道ucenter向每个应用发送的action,id等数据。 php把数组写入文件 <?php $file=”./data/log.txt”; $array = array(“count” => “3000″, “num” => “300″); file_put_contents($file,serialize($array));//写入缓存 ?>