php日期转时间戳php时间戳与年月日格式日期互相转换
php时间戳,在开发的时候还是用得比较多,在MYSQL数据库中他是以字符串的形式存储的,而在本文中将介绍如何把php时间戳转成普通日期,或将普通日期转换成时间戳
php时间戳显示的样式为:1285724523
输出php时间戳,很简单: echo time();,这样就直接输出时间载了,而我们普通的日期输出呢
普通日期输出:-09-29,这样用PHP输出是:echo
date('Y-m-d');,当然中间的间隔符“-”是自己可用任意字符间隔的
还有带时间的日期输出:-09-29 01:46:23 用php输出是:echo date('Y-m-d
H:i:s');
了解他们的显示形式及代码后,现在来看看他们是通过什么来互转换的
先说把PHP时间戳转成普通日期形式
$date=date('Y-m-d',"1285724523");
echo $date;
以上两句就是把时间载转换成普通日期形式,运行结果为:-09-29,把后面的时分秒给省略了。
那如果把以上的-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格式,这样运行结果就是:-09-29 01:42:03这样了
最后要说明的就是将时间戳转成带时分秒的日期形式,会稍复杂点,因为要通过三个explode函数切割字符字串,大家看过mktime()
函数说明就知道吧,我上面指定的时分秒是为0,现在加上。
$date=date('Y-m-d H:i:s',"1285724523");
echo $date."
";
$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]);
运行结果,首先第一行是显示-09-29 01:42:03 第二行是显示1285724523
,数据完全相同了,好,博客对php时间戳与日期的转换研究就到这里了