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

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


  • 2021-01-14 06:15:04

    通过glide获取图片显示后的真正宽高

    有时候需要获取网络图片的宽高来设置图片显示的大小,很多人会直接利用Glide的加载监听去拿图片的宽高,但是这样拿到的不是图片真正的宽高,而是图片显示在ImageView后的宽高。如下:

  • 2021-01-14 09:38:57

    Chrome插件详细教程

    严格来讲,我们正在说的东西应该叫Chrome扩展(Chrome Extension),真正意义上的Chrome插件是更底层的浏览器功能扩展,可能需要对浏览器源码有一定掌握才有能力去开发。鉴于Chrome插件的叫法已经习惯,本文也全部采用这种叫法,但读者需深知本文所描述的Chrome插件实际上指的是Chrome扩展。

  • 2021-01-14 17:07:51

    chrome.contextMenus.create不出现菜单

    主要原因是,我每次刷新玩,都复制一下右键,然而并没有出现菜单,一度颓废啊,因为demo,还有其他人的文章都是这样的。 哎,后来发现是这样的,我缺少了contexts选项。其实我是成功了,我现在只要不选择文字,直接点右键,菜单已经出现了哦。

  • 2021-01-15 13:06:08

    监控 MongoDB -

    随着MongoDB中保存的数据越来越多,对MongoDB服务状态的监控也越来越重要,经常关注服务是否健康,才能防止故障以及优化。

  • 2021-01-15 13:30:21

    MongoDb web 用户界面

    MongoDB 的 Web 界面访问端口比服务的端口多1000。 如果你的MongoDB运行端口使用默认的27017,你可以在端口号为28017访问web用户界面,即地址为:http://localhost:28017。

  • 2021-01-16 09:31:14

    Xcode两种引入图片的方法

    如果是纯代码,图片名需要手动添加@2x,@3x等倍数标识,且需要指明后缀.png,.jpg;IB添加图片的话只需要指明后缀就好,不用添加倍数标识。