`

php中获取时间的几套方法(收集)

    博客分类:
  • php
 
阅读更多
1、jddayofweek(cal_to_jd(CAL_GREGORIAN, date('m'), date('d'), date('Y')));此函数返回日期在周几
2、array('Mon'=>'星期一',......);然后直接下标查询
3、根据日期获取周几的自定义函数
<?php
	function getWeekName($data,$format = '星期')
	{
	    $week   =  date( "D ",$data);
            switch($week)
	    {
	        case "Mon ":
	            $current   =   $format."一";
	            break;
	        case "Tue ":
	            $current   =   $format."二";
	            break;
	        case "Wed ":
	            $current   =   $format."三";
	            break;
	        case "Thu ":
	            $current   =   $format."四";
	            break;
	        case "Fri ":
	            $current   =   $format."五";
	            break;
	        case "Sat ":
	            $current   =   $format."六";	            break;
	        case "Sun ":
	            $current   =   $format."日";
	            break;
	    }
	    return $current;
	}
	 
	 
	echo '今天是:'.getWeekName(time(),'星期');
	echo '<br>';
	echo '今天是:'.getWeekName(time(),'礼拜');
	echo '<br>';
	echo '2010-12-12是:'.getWeekName(strtotime('2010-12-12'),'礼拜');
	?>

4、获取类似文章发表的几小时前等效果的自定义函数
<?php
function time2Units ($time)
{
$year = floor($time / 60 / 60 / 24 / 365);
$time -= $year * 60 * 60 * 24 * 365;
$month = floor($time / 60 / 60 / 24 / 30);
$time -= $month * 60 * 60 * 24 * 30;
$week = floor($time / 60 / 60 / 24 / 7);
$time -= $week * 60 * 60 * 24 * 7;
$day = floor($time / 60 / 60 / 24);
$time -= $day * 60 * 60 * 24;
$hour = floor($time / 60 / 60);
$time -= $hour * 60 * 60;
$minute = floor($time / 60);
$time -= $minute * 60;
$second = $time;
$elapse = '';

$unitArr = array('年' =>'year', '个月'=>'month', '周'=>'week', '天'=>'day',
'小时'=>'hour', '分钟'=>'minute', '秒'=>'second'
);

foreach ( $unitArr as $cn => $u )
{
if ( $$u > 0 )
{
$elapse = $$u . $cn;
break;
}
}

return $elapse;
}

$past = 2052345678; // 发布日期
$now = time(); // 当前日期
$diff = $now - $past;//相差值

echo '发表于' . time2Units($diff) . '前';
?>

另一种,个人认为比较好的:
function time_tran($the_time){
$now_time = date("Y-m-d H:i:s",time()+8*60*60);
$now_time = strtotime($now_time);
$show_time = strtotime($the_time);
$dur = $now_time - $show_time;
if($dur < 0){
return $the_time;
}else{
if($dur < 60){
    return $dur.'秒前';
}else{
    if($dur < 3600){
   return floor($dur/60).'分钟前';
    }else{
   if($dur < 86400){
   return floor($dur/3600).'小时前';
   }else{
   if($dur < 259200){//3天内
       return floor($dur/86400).'天前';
   }else{
       return $the_time;
   }
   }
    }
}
}
}

5、根据两时间差具体算相差时间
function getTime( $val ){
if($val>0){
$nTime['nDay'] = (int)($val/(3600*24));
$nTime['nHour'] = (int)($val%(3600*24)/3600);
$nTime['nMin'] = (int)($val%(3600*24)%3600/60);
$nTime['nSec'] = (int)($val%(3600*24)%3600%60);
}
return $nTime ;
}
function getStrTime( $val ){
$aTime = getTime($val);
$dtoc = array('nDay'=>'天','nHour'=>'小时','nMin'=>'分','nSec'=>'秒');
if( $aTime ){
foreach( $aTime as $k=>$v){
if($v){
$cTime .= $v.$dtoc[$k];
}
}
}else{
$cTime = '已结止';
}
return $cTime;
}
分享到:
评论

相关推荐

    jquery插件使用方法大全

     代码 $("selector").load(url,data,function(response,status,xhr)) 该方法是最简单的从服务器获取数据的方法。它几乎与 $.get(url, data, success) 等价,不同的是它不是全局函数,并且它拥有隐式的回调函数。当...

    JAVA上百实例源码以及开源项目

    在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...

    欧博VIP付费下载系统通用版 v1.1.rar

    很多喜欢收集资源的朋友都会去开发制作一个VIP资源的下载沾点儿,而且国内也已经有很多类似的成功案例,所以今天小编就给大家分享一套这样的VIP资源收费下载系统源码-欧博VIP付费下载系统通用版,使用这套源码你可以...

    JAVA上百实例源码以及开源项目源代码

    在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...

    web路径探测工具 7kbscan-WebPathBrute 1.5.8 (集成三字典)

    一、增加了几个变量 %DomainNoPoint%为当前扫描目标域名去掉. wwwbaiducom %DomainUnderLine%为当前扫描目标域名将.换成下划线www_baidu_com %DomainCenterAndTldUnderLine%为当前扫描目标域名主体与后缀并将.换...

    java开源包1

    使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,时间显示和处理方法前帧。 Java的PList类库 Blister Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用...

    java开源包11

    使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,时间显示和处理方法前帧。 Java的PList类库 Blister Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用...

    java开源包2

    使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,时间显示和处理方法前帧。 Java的PList类库 Blister Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用...

    java开源包3

    使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,时间显示和处理方法前帧。 Java的PList类库 Blister Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用...

    java开源包6

    使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,时间显示和处理方法前帧。 Java的PList类库 Blister Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用...

    java开源包5

    使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,时间显示和处理方法前帧。 Java的PList类库 Blister Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用...

    java开源包10

    使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,时间显示和处理方法前帧。 Java的PList类库 Blister Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用...

    java开源包4

    使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,时间显示和处理方法前帧。 Java的PList类库 Blister Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用...

    java开源包8

    使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,时间显示和处理方法前帧。 Java的PList类库 Blister Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用...

    java开源包7

    使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,时间显示和处理方法前帧。 Java的PList类库 Blister Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用...

    java开源包9

    使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,时间显示和处理方法前帧。 Java的PList类库 Blister Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用...

    java开源包101

    使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,时间显示和处理方法前帧。 Java的PList类库 Blister Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用...

    Java资源包01

    使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,时间显示和处理方法前帧。 Java的PList类库 Blister Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用...

Global site tag (gtag.js) - Google Analytics