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));//写入缓存
?>