登录  /  注册
首页 > php教程 > php手册 > 正文
PHP时间戳函数
php中文网
发布: 2016-06-13 09:43:50
原创
807人浏览过

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

  世界末日时间戳 PHP

代码如下

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

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

代码如下


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

  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: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;
}

来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 技术文章
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2023 //m.sbmmt.com/ All Rights Reserved | 苏州跃动光标网络科技有限公司 | 苏ICP备2020058653号-1

 | 本站CDN由 数掘科技 提供

登录PHP中文网,和优秀的人一起学习!
全站2000+教程免费学