php 时间获取,php获取时间的几种方法

1、jddayofweek(cal_to_jd(CAL_GREGORIAN, date('m'), date('d'), date('Y')));此函数返回日期在周几

2、array('Mon'=>'星期一',......);然后直接下标查询

3、根据日期获取周几的自定义函数

复制代码 代码如下:

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 '
';

echo '今天是:'.getWeekName(time(),'礼拜');

echo '
';

echo '2010-12-12是:'.getWeekName(strtotime('2010-12-12'),'礼拜');

?>

4、获取类似文章发表的几小时前等效果的自定义函数

复制代码 代码如下:

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;

}

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值