zoukankan      html  css  js  c++  java
  • PHP时间戳和日期相互转换

    在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

  • 相关阅读:
    HYSBZ 3813 奇数国
    HYSBZ 4419 发微博
    HYSBZ 1079 着色方案
    HYSBZ 3506 排序机械臂
    HYSBZ 3224 Tyvj 1728 普通平衡树
    Unity 3D,地形属性
    nginx 的naginx 种包含include关键字
    Redis 出现NOAUTH Authentication required解决方案
    mysql 8.0出现 Public Key Retrieval is not allowed
    修改jar包里的源码时候需要注意的问题
  • 原文地址:https://www.cnblogs.com/wang1204/p/5672846.html
Copyright © 2011-2022 走看看