您好,登錄后才能下訂單哦!
本篇內容主要講解“php計算時間函數有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“php計算時間函數有哪些”吧!
一、函數實現
實例1:
復制代碼 代碼如下:
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;
}
}
}
實例2:
復制代碼 代碼如下:
<?php
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.'前';
}
}
}
?>
實例3:
復制代碼 代碼如下:
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 '剛剛';
}
}
}
實例4:
復制代碼 代碼如下:
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;
}
}
}
}
}
}
二、類的實現
復制代碼 代碼如下:
<?php
/*
* author: Solon Ring
* time: 2011-11-02
* 發博時間計算(年,月,日,時,分,秒)
* $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', '當前');
*
*/
到此,相信大家對“php計算時間函數有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。