PHP时间戳和日期相互转换

2018-02-09 01:32:48


在php中我们要把时间戳转换日期可以直接使用date函数来实现,如果要把日期转换成时间戳可以使用strtotime()函数实现,下面我来给大家举例说明。

 

1.php中时间转换函数

strtotime

(date()) 

date("Y-m-d H:i",$unixtime) 

2.php中获得今天零点的时间戳 要获得零点的unix时间戳,可以使用

$todaytime=strtotime(“today”),

然后再使用

date("Y-m-d H:i",$todaytime)转换为日期。

 

时间戳转换为日期

时间戳转换函数:

date("Y-m-d H:i:s",time()),"Y-m-d H:i:s"是转换后的日期格式,time()是获得当前时间的时间戳。如果是date("Y-m-d H:i:s",time()),则小时分秒一起显示;如果是

date("Y-m-d ", time()),只显示年月日。例如:

date("Y-m-d H:i:s",time())

转换后为:

2010-07-18 18:42:48 

date("Y-m-d",time())

转换后为:

2010-07-18 日期转换为时间戳 .

 

class SaonekController extends Controller { 

 public function index

Action

(){ 

/*

时间戳转换成日期不用说了

 

但是日期要转成时间戳的话就要用到

strtotime() 

*/ 

         $time = time();//

时间戳

 

   $nowtime = date('Y-m-d H:i:s',$time);//

生成带格式的日期

 

   $oldtime = '2010-11-10 22:19:21'; 

         $catime = strtotime($oldtime);//

日期转换为时间戳

 

   $nowtimes = date('Y-m-d H:i:s',$catime);//

时间戳又转回日期了

 

   echo  $nowtimes; 

 } 

?> 

3.php中时间戳转换为日期,并按照时间显示不同的内容,如刚刚,分钟前,小时前,今天,昨天等

/*

时间转换函数

*/

function transTime($ustime) {             

$ytime = date("Y-m-d H:i",$ustime);

               

$rtime = date("n月j日 H:i",$ustime); 

             

$htime = date("H:i",$ustime);  

           

$time = time() - $ustime;   

          

$todaytime = strtotime("today"); 

            

$time1 = time() - $todaytime;  

                           

if($time < 60){    

                  

$str = '刚刚';   

           

}else if($time < 60 * 60){  

                             

$min = floor($time/60);                      


$str = $min.'分钟前';              

 

}else if($time < $time1){   

                    

$str = '今天'.$htime;    

          

}else{          

           

$str = $rtime;   

 

}                


return $str;  

其它的参考

使用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)打印昨天此时的

PHP

时间戳

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)打印指定下星期几的PHP时间戳

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

当你发现自己的才华撑不起野心时,就请安静下来学习吧


  • 2018-11-26 17:05:47

    sql查询调优之where条件排序字段以及limit使用索引的奥秘

    看起来匪夷所思,其实搞清楚mysql查询的原理之后,其实很简单 我们来看这2条sql查询,都用到了where order by limit 当有limit存在时,查询的顺序就有可能发生变化,这时并不是从数据库中先通过where过滤再排序再limit 因为如果这样的话,从500万数据中通过where过滤就不会是5s了。

  • 2018-11-26 21:46:28

    TextView设置行间距、行高,以及字间距

    Android系统中TextView有默认行间距,但是比较窄有的时候需要我们设置每行行间距。 TextView为我们提供了相关设置属性android:lineSpacingExtra或android:lineSpacingMultiplier。

  • 2018-11-26 21:47:55

    Drawable一个有趣的属性:tileMode

    tileMode是drawable 资源文件 bitmap的一个属性, 翻译的意思是平铺模式。用法如下: 在drawable目录下新建一个资源文件 tile_mode_demo.xml

  • 2018-11-28 09:55:53

    android radiogroup样式(设置切换背景与文字颜色)

    RadioButton(单选按钮)在Android开发中应用的非常广泛,比如一些选择项的时候,会用到单选按钮。它是一种单选框双状态的按钮,可以选择或不选择。在RadioButton没有被选中时,用户能够按下或点击来选中它。

  • 2018-12-01 00:27:12

    批量kill mysql processlist进程

    如果大批量的操作能够通过一系列的select语句产生,那么理论上就能对这些结果批量处理。 但是mysql并没用提供eval这样的对结果集进行分析操作的功能。所以只能现将select结果保存到临时文件中,然后再执行临时文件中的指令。

  • 2018-12-02 10:54:14

    HTTP长连接、短连接究竟是什么?

    HTTP的长连接和短连接本质上是TCP长连接和短连接。HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议。 IP协议主要解决网络路由和寻址问题,TCP协议主要解决如何在IP层之上可靠地传递数据包,使得网络上接收端收到发送端所发出的所有包,并且顺序与发送顺序一致。TCP协议是可靠的、面向连接的。