威尼斯登录首页1.PHP时间戳函数将日期转化为unix时间戳,获取指定的年月日转化为时间戳
分类:热门新闻

时间戳是我们在时间日期对比时常用到一个小功能,下面我先来给各位介绍strtotime时间戳转换的一些方法与利用它来做一个日期格式化的几分钟、几小时前、几天前的一个实例。

1.PHP时间戳函数将日期转化为unix时间戳

在php中我想要获取时间戳有多种方法,最常用的就是使用time函数与strtotime()函数把日期转换成时间戳了,下面我来给大家分享一下时间戳函数 strtotime用法。
获取指定的年月日转化为时间戳:
pHP时间戳函数获取指定日期的unix时间戳 strtotime('2012-12-7')
示例如下:
复制代码 代码如下:

1.PHP时间戳函数将日期转化为unix时间戳

世界末日时间戳 PHP

说明:返回2012年12月7日0点0分0秒时间戳。
 将当前年月日转化为时间戳:PHP时间戳函数获取当前日期的unix时间戳,
示例如下:
复制代码 代码如下:

世界末日时间戳 PHP

 代码如下

明:返回当前时间 年月日时分秒的时间戳。
将时间戳转化为年月日:
复制代码 代码如下:
    echo date("Y-m-d H:i:s",intval(time()));
?>

代码如下 复制代码

echo "世界末日时间戳为:".strtotime("2012-12-21")


复制代码 代码如下:
/*
from:
@date:2013-02-22
*/
echo strtotime ("now"), "n";
echo strtotime ("10 September 2000"), "n";
echo strtotime ("+1 day"), "n";
echo strtotime ("+1 week"), "n";
echo strtotime ("+1 week 2 days 4 hours 2 seconds"), "n";
echo strtotime ("next Thursday"), "n";
echo strtotime ("last Monday"), "n";
?>

echo 世界末日时间戳为:.strtotime(2012-12-21)

2.将时间戳转化为系统时间

PHP时间戳函数获取英文文本日期时间
便于比较,使用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)打印昨天此时的时间戳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)打印指定下星期几的时间戳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
以上PHP时间戳函数示例可知源码天空,strtotime能将任何英文文本的日期时间描述解析为Unix时间戳,我们结合mktime()或date()格式化日期时间获取指定的时间戳,实现所需要的日期时间。
你可能感兴趣的文章

2.将时间戳转化为系统时间

 代码如下

代码如下 复制代码

date('Y-m-d H:i:s',"1228348800");

date('Y-m-d H:i:s',1228348800);

3.PHP时间戳函数获取英文文本日期时间 示例如下:

3.PHP时间戳函数获取英文文本日期时间 示例如下:

便于比较,使用date将当时间戳与指定时间戳转换成系统时间

便于比较,使用date将当时间戳与指定时间戳转换成系统时间

(1)打印明天此时的时间戳strtotime(”+1 day”)

(1)打印明天此时的时间戳strtotime(+1 day)

 代码如下

代码如下 复制代码

//当前时间
echo date("Y-m-d H:i:s",time());
//明天此时时间
echo date("Y-m-d H:i:s",strtotime("+1 day"));

//当前时间 echo date(Y-m-d H:i:s,time()); //明天此时时间 echo date(Y-m-d H:i:s,strtotime(+1 day));

(2)打印昨天此时的时间戳strtotime(”-1 day”)

(2)打印昨天此时的时间戳strtotime(-1 day)

 代码如下

代码如下 复制代码

//当前时间
echo date("Y-m-d H:i:s",time()) ;
//指定时间
echo date("Y-m-d H:i:s",strtotime("-1 day"));

//当前时间 echo date(Y-m-d H:i:s,time()) ; //指定时间 echo date(Y-m-d H:i:s,strtotime(-1 day));

(3)打印下个星期此时的时间戳strtotime("+1 week")

(3)打印下个星期此时的时间戳strtotime(+1 week)

 代码如下

代码如下 复制代码

//当前时间
echo date("Y-m-d H:i:s",time());
//下星期时间
echo date("Y-m-d H:i:s",strtotime("+1 week"));

//当前时间 echo date(Y-m-d H:i:s,time()); //下星期时间 echo date(Y-m-d H:i:s,strtotime(+1 week));

(4)打印上个星期此时的时间戳strtotime("-1 week")

(4)打印上个星期此时的时间戳strtotime(-1 week)

 代码如下

代码如下 复制代码

//当前时间
echo date("Y-m-d H:i:s",time());
//上个星期此时时间
echo date("Y-m-d H:i:s",strtotime("-1 week"));

//当前时间 echo date(Y-m-d H:i:s,time()); //上个星期此时时间 echo date(Y-m-d H:i:s,strtotime(-1 week));

(5)打印指定下星期几的时间戳strtotime("next Thursday")

(5)打印指定下星期几的时间戳strtotime(next Thursday)

 

代码如下 复制代码 //当前时间 echo date(Y-m-d H:i:s,time()); //下星期几时间 echo date(Y-m-d H:i:s,strtotime(next Thursday));

 代码如下

(6)打印指定上星期几的时间戳strtotime(last Thursday)

//当前时间
echo date("Y-m-d H:i:s",time());
//下星期几时间
echo date("Y-m-d H:i:s",strtotime("next Thursday"));

代码如下 复制代码

(6)打印指定上星期几的时间戳strtotime(”last Thursday”)

//当前时间 echo date(Y-m-d H:i:s,time()); //指定时间 echo date(Y-m-d H:i:s,strtotime(last Thursday));

 代码如下

以上PHP时间戳函数示例可知,strtotime能将任何英文文本的日期时间描述解析为Unix时间戳,我们结合mktime()或date()格式化日期时间获取指定的时间戳,实现所需要的日期时间

//当前时间
echo date("Y-m-d H:i:s",time());
//指定时间
echo date("Y-m-d H:i:s",strtotime("last Thursday"));

话说看到别人写的这么一个函数,测试了一下,有些小毛病:对于跨年日期,没有显示年份。修改如下

以上PHP时间戳函数示例可知,strtotime能将任何英文文本的日期时间描述解析为Unix时间戳,我们结合mktime()或date()格式化日期时间获取指定的时间戳,实现所需要的日期时间

代码如下 复制代码

话说看到别人写的这么一个函数,测试了一下,有些小毛病:对于跨年日期,没有显示年份。修改如下

function mdate($time = NULL) { $text = ''; $time = $time === NULL || $time time() ? time() : intval($time); $t = time() - $time; //时间差 $y = date('Y', $time)-date('Y', time());//是否跨年 switch($t){ case $t == 0: $text = '刚刚'; break; case $t 60: $text = $t . '秒前'; // 一分钟内 break; case $t 60 * 60: $text = floor($t / 60) . '分钟前'; //一小时内 break; case $t 60 * 60 * 24: $text = floor($t / (60 * 60)) . '小时前'; // 一天内 break; case $t 60 * 60 * 24 * 3: $text = floor($time/(60*60*24)) ==1 ?'昨天 ' . date('H:i', $time) : '前天 ' . date('H:i', $time) ; //昨天和前天 break; case $t 60 * 60 * 24 * 30: $text = date('m月d日 H:i', $time); //一个月内 break; case $t 60 * 60 * 24 * 365$y==0: $text = date('m月d日', $time); //一年内 break; default: $text = date('Y年m月d日', $time); //一年以前 break; } return $text; }

 代码如下

ThinkPHP中:

function mdate($time = NULL) {
    $text = '';
    $time = $time === NULL || $time > time() ? time() : intval($time);
    $t = time() - $time; //时间差 (秒)
    $y = date('Y', $time)-date('Y', time());//是否跨年
    switch($t){
     case $t == 0:
       $text = '刚刚';
       break;
     case $t < 60:
      $text = $t . '秒前'; // 一分钟内
      break;
     case $t < 60 * 60:
      $text = floor($t / 60) . '分钟前'; //一小时内
      break;
     case $t < 60 * 60 * 24:
      $text = floor($t / (60 * 60)) . '小时前'; // 一天内
      break;
     case $t < 60 * 60 * 24 * 3:
      $text = floor($time/(60*60*24)) ==1 ?'昨天 ' . date('H:i', $time) : '前天 ' . date('H:i', $time) ; //昨天和前天
      break;
     case $t < 60 * 60 * 24 * 30:
      $text = date('m月d日 H:i', $time); //一个月内
      break;
     case $t < 60 * 60 * 24 * 365&&$y==0:
      $text = date('m月d日', $time); //一年内
      break;
     default:
      $text = date('Y年m月d日', $time); //一年以前
      break;
    }
       
    return $text;
}

将写好的函数放到 Common 文件夹下。系统会自动加载的。放到这个common.php页里,common.php 固有格式,不要改名。

ThinkPHP中:

模板中直接调用

将写好的函数放到 Common 文件夹下。系统会自动加载的。
放到这个common.php页里,common.php 固有格式,不要改名。

代码如下 复制代码

模板中直接调用

{$vo.time|mdate}

 代码如下

例2,简单一些的

{$vo.time|mdate}

代码如下 复制代码

例2,简单一些的

function formatDate($sTime) { //sTime=源时间,cTime=当前时间,dTime=时间差 $cTime=time(); $dTime=$cTime - $sTime; $dDay=intval(date(Ymd,$cTime)) - intval(date(Ymd,$sTime)); $dYear=intval(date(Y,$cTime)) - intval(date(Y,$sTime)); if( $dTime 60 ){ $dTime = $dTime.秒前; }elseif( $dTime 3600 ){ $dTime = intval($dTime/60).分钟前; }elseif( $dTime = 3600 $dDay == 0 ){ $dTime = 今天.date(H:i,$sTime); }elseif($dYear==0){ $dTime = date(m-d H:i,$sTime); }else{ $dTime = date(Y-m-d H:i,$sTime); } return $dTime; }

 代码如下

function formatDate($sTime) {
 //sTime=源时间,cTime=当前时间,dTime=时间差
 $cTime  = time();
 $dTime  = $cTime - $sTime;
 $dDay  = intval(date("Ymd",$cTime)) - intval(date("Ymd",$sTime));
 $dYear  = intval(date("Y",$cTime)) - intval(date("Y",$sTime));
 if( $dTime < 60 ){
  $dTime =  $dTime."秒前";
 }elseif( $dTime < 3600 ){
  $dTime =  intval($dTime/60)."分钟前";
 }elseif( $dTime >= 3600 && $dDay == 0  ){
  $dTime =  "今天".date("H:i",$sTime);
 }elseif($dYear==0){
  $dTime =  date("m-d H:i",$sTime);
 }else{
  $dTime =  date("Y-m-d H:i",$sTime);
 }
 return $dTime;
}

 

本文由威尼斯在线注册平台发布于热门新闻,转载请注明出处:威尼斯登录首页1.PHP时间戳函数将日期转化为unix时间戳,获取指定的年月日转化为时间戳

上一篇://把浏览器重定向到index.phpob,代码的数据块有作用 下一篇:内存不够
猜你喜欢
热门排行
精彩图文