PHP把时间转换成几分钟前、几小时前、几天前的几个函数类(php时间转换)

网友投稿 1132 2022-07-31

PHP把时间转换成几分钟前、几小时前、几天前的几个函数类(php时间转换)

header("Content-type: text/html; charset=utf8");

date_default_timezone_set("Asia/Shanghai"); //设置时区

function time_tran($the_time) {

$now_time = date("Y-m-d H:i:s", time());

//echo $now_time;

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

}

}

}

}

}

}

echo time_tran("2014-7-8 19:22:01");

?>

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;

}

}

}

function format_date($time){

$t=time()-$time;

$f=array(

'31536000'=>'年',

'2592000'=>'个月',

'604800'=>'星期',

'86400'=>'天',

'3600'=>'小时',

'60'=>'分钟',

'1'=>'秒'

);

foreach ($f as $k=>$v) {

if (0 !=$c=floor($t/(int)$k)) {

return $c.$v.'前';

}

}

}

?>

function formatTime($date) {

$str = '';

$timer = strtotime($date);

$diff = $_SERVER['REQUEST_TIME'] - $timer;

$day = floor($diff / 86400);

$free = $diff % 86400;

if($day > 0) {

return $day."天前";

}else{

if($free>0){

$hour = floor($free / 3600);

$free = $free % 3600;

if($hour>0){

return $hour."小时前";

}else{

if($free>0){

$min = floor($free / 60);

$free = $free % 60;

if($min>0){

return $min."分钟前";

}else{

if($free>0){

return $free."秒前";

}else{

return '刚刚';

}

}

}else{

return '刚刚';

}

}

}else{

return '刚刚';

}

}

}

?>

/*

* 时间计算(年,月,日,时,分,秒)

* $createtime 可以是当前时间

* $gettime 你要传进来的时间

*/

class Mygettime{

function __construct($createtime,$gettime) {

$this->createtime = $createtime;

$this->gettime = $gettime;

}

function getSeconds()

{

return $this->createtime-$this->gettime;

}

function getMinutes()

{

return ($this->createtime-$this->gettime)/(60);

}

function getHours()

{

return ($this->createtime-$this->gettime)/(60*60);

}

function getDay()

{

return ($this->createtime-$this->gettime)/(60*60*24);

}

function getMonth()

{

return ($this->createtime-$this->gettime)/(60*60*24*30);

}

function getYear()

{

return ($this->createtime-$this->gettime)/(60*60*24*30*12);

}

function index()

{

if($this->getYear() > 1)

{

if($this->getYear() > 2)

{

return date("Y-m-d",$this->gettime);

exit();

}

return intval($this->getYear())." 年前";

exit();

}

if($this->getMonth() > 1)

{

return intval($this->getMonth())." 月前";

exit();

}

if($this->getDay() > 1)

{

return intval($this->getDay())." 天前";

exit();

}

if($this->getHours() > 1)

{

return intval($this->getHours())." 小时前";

exit();

}

if($this->getMinutes() > 1)

{

return intval($this->getMinutes())." 分钟前";

exit();

}

if($this->getSeconds() > 1)

{

return intval($this->getSeconds()-1)." 秒前";

exit();

}

}

}

//类的使用实例

/*

*

* 调用类输出方式

*

* $a = new Mygettime(time(),strtotime('-25 month'));

* echo iconv('utf-8', 'gb2312', $a->index())?iconv('utf-8', 'gb2312', $a->index()):iconv('utf-8', 'gb2312', '当前');

*

*/

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:PHP生成静态类html文件类(html静态页面调用php文件)
下一篇:PHP字符截取 支持UTF8/GBK
相关文章

 发表评论

暂时没有评论,来抢沙发吧~