php計(jì)算幾分鐘前、幾小時(shí)前、幾天前的幾個(gè)函數(shù)、類分享
一、函數(shù)實(shí)現(xiàn)
實(shí)例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).'小時(shí)前';
}else{
if($dur < 259200){//3天內(nèi)
return floor($dur/86400).'天前';
}else{
return $the_time;
}
}
}
實(shí)例2:
function format_date($time){
$t=time()-$time;
$f=array(
'31536000'=>'年',
'2592000'=>'個(gè)月',
'604800'=>'星期',
'86400'=>'天',
'3600'=>'小時(shí)',
'60'=>'分鐘',
'1'=>'秒'
);
foreach ($f as $k=>$v) {
if (0 !=$c=floor($t/(int)$k)) {
return $c.$v.'前';
}
}
}
?>
實(shí)例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."小時(shí)前";
}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 '剛剛';
}
}
}
實(shí)例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).'小時(shí)前';
}else{
if($dur < 259200){//3天內(nèi)
return floor($dur/86400).'天前';
}else{
return $the_time;
}
}
}
}
}
}
二、類的實(shí)現(xiàn)
/*
* author: Solon Ring
* time: 2011-11-02
* 發(fā)博時(shí)間計(jì)算(年,月,日,時(shí),分,秒)
* $createtime 可以是當(dāng)前時(shí)間
* $gettime 你要傳進(jìn)來(lái)的時(shí)間
*/
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())." 小時(shí)前";
exit();
}
if($this->getMinutes() > 1)
{
return intval($this->getMinutes())." 分鐘前";
exit();
}
if($this->getSeconds() > 1)
{
return intval($this->getSeconds()-1)." 秒前";
exit();
}
}
}
//類的使用實(shí)例
/*
*
* 調(diào)用類輸出方式
*
* $a = new Mygettime(time(),strtotime('-25 month'));
* echo iconv('utf-8', 'gb2312', $a->index())?iconv('utf-8', 'gb2312', $a->index()):iconv('utf-8', 'gb2312', '當(dāng)前');
*
*/
- PHP四舍五入精確小數(shù)位及取整
- 簡(jiǎn)單談?wù)刾hp浮點(diǎn)數(shù)精確運(yùn)算
- PHP精確計(jì)算功能示例
- php學(xué)習(xí)之簡(jiǎn)單計(jì)算器實(shí)現(xiàn)代碼
- PHP中計(jì)算字符串相似度的函數(shù)代碼
- PHP中浮點(diǎn)數(shù)計(jì)算比較及取整不準(zhǔn)確的解決方法
- 在php和MySql中計(jì)算時(shí)間差的方法
- PHP使用數(shù)組實(shí)現(xiàn)矩陣數(shù)學(xué)運(yùn)算的方法示例
- PHP數(shù)學(xué)運(yùn)算與數(shù)據(jù)處理實(shí)例分析
- php常用數(shù)學(xué)函數(shù)匯總
- PHP高精確度運(yùn)算BC函數(shù)庫(kù)實(shí)例詳解
相關(guān)文章
php編寫的簡(jiǎn)單頁(yè)面跳轉(zhuǎn)功能實(shí)現(xiàn)代碼
這篇文章主要介紹了php編寫的簡(jiǎn)單頁(yè)面跳轉(zhuǎn)功能實(shí)現(xiàn)代碼,有需要的朋友可以參考一下2013-11-11
php如何計(jì)算兩坐標(biāo)點(diǎn)之間的距離
這篇文章主要為大家詳細(xì)介紹了php如何計(jì)算兩坐標(biāo)點(diǎn)之間的距離,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12
php判斷是否連接上網(wǎng)絡(luò)的方法實(shí)例詳解
本文主要介紹PHP判斷是否連接上網(wǎng)絡(luò)的方法,通過(guò)php判斷能否打開(kāi)百度頁(yè)面來(lái)判斷是否連接上網(wǎng)絡(luò)的功能,需要的朋友可以參考下2016-12-12
destoon二次開(kāi)發(fā)常用數(shù)據(jù)庫(kù)操作
這篇文章主要介紹了destoon二次開(kāi)發(fā)常用數(shù)據(jù)庫(kù)操作,需要的朋友可以參考下2014-06-06
淺談php使用curl模擬多線程發(fā)送請(qǐng)求
這篇文章主要介紹了php使用curl模擬多線程發(fā)送請(qǐng)求,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03
ThinkPHP通過(guò)AJAX返回JSON的兩種實(shí)現(xiàn)方法
這篇文章主要介紹了ThinkPHP通過(guò)AJAX返回JSON的兩種實(shí)現(xiàn)方法,分析了ThinkPHP中內(nèi)置的ajaxReturn函數(shù)的用法,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2014-12-12

