• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP时间戳函数详解

php 搞代码 4年前 (2022-01-22) 38次浏览 已收录 0个评论

本文主要和大家分享PHP时间戳函数详解,主要以代码的形式和大家分享,希望能帮助到大家。

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

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

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

(1)获取当天零点时间戳

$timetoday = strtotime(date("Y-m-d",time()));

(2)获取明天零点时间戳

$tomorrow = $timetoday + 3600*24;

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

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

(1)打印明天此时的时间戳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”)

//当前时间echo date("Y-m-d H:<strong style="color:transparent">本&文来源gao@daima#com搞(%代@#码网@</strong><textarea>搞gaodaima代码</textarea>i:s",time()) ;//指定时间echo date("Y-m-d H:i:s",strtotime("-1 day"));

(3)打印下个星期此时的时间戳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")

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

(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("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中:

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

模板中直接调用

{$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;}

下面发一个友好时间的方法给大家

/** * 友好时间显示 * @param $time * @return bool|string */function friend_date($time){    if (!$time)        return false;    $fdate = '';    $d = time() - intval($time);    $ld = $time - mktime(0, 0, 0, 0, 0, date('Y')); //得出年    $md = $time - mktime(0, 0, 0, date('m'), 0, date('Y')); //得出月    $byd = $time - mktime(0, 0, 0, date('m'), date('d') - 2, date('Y')); //前天    $yd = $time - mktime(0, 0, 0, date('m'), date('d') - 1, date('Y')); //昨天    $dd = $time - mktime(0, 0, 0, date('m'), date('d'), date('Y')); //今天    $td = $time - mktime(0, 0, 0, date('m'), date('d') + 1, date('Y')); //明天    $atd = $time - mktime(0, 0, 0, date('m'), date('d') + 2, date('Y')); //后天    if ($d == 0) {        $fdate = '刚刚';    } else {        switch ($d) {            case $d < $atd:                $fdate = date('Y年m月d日', $time);                break;            case $d < $td:                $fdate = '后天' . date('H:i', $time);                break;            case $d < 0:                $fdate = '明天' . date('H:i', $time);                break;            case $d < 60:                $fdate = $d . '秒前';                break;            case $d < 3600:                $fdate = floor($d / 60) . '分钟前';                break;            case $d < $dd:                $fdate = floor($d / 3600) . '小时前';                break;            case $d < $yd:                $fdate = '昨天' . date('H:i', $time);                break;            case $d < $byd:                $fdate = '前天' . date('H:i', $time);                break;            case $d < $md:                $fdate = date('m月d日 H:i', $time);                break;            case $d < $ld:                $fdate = date('m月d日', $time);                break;            default:                $fdate = date('Y年m月d日', $time);                break;        }    }    return $fdate;}

相关推荐:

PHP获取当前的时间戳函数详细讲解

以上就是PHP时间戳函数详解的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP时间戳函数详解

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址