欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

將時(shí)間以距今多久的形式表示,PHP,js雙版本

 更新時(shí)間:2012年09月25日 22:44:00   作者:  
依然從項(xiàng)目需求出發(fā),些了這個(gè)函數(shù),PHP版本寫(xiě)了一個(gè)Smarty的插件,只要簡(jiǎn)單的修改下函數(shù)名就能直接在PHP中調(diào)用了,同時(shí),為了AJAX翻頁(yè)時(shí)所獲取JSON數(shù)據(jù)中的時(shí)間以同樣的方式顯示,因此又寫(xiě)了一個(gè)JS的版本
廢話(huà)不多說(shuō)直接上代碼。
PHP FOR Smarty
復(fù)制代碼 代碼如下:

* Name: time_ago
* Purpose: 將時(shí)間戳專(zhuān)為距當(dāng)前時(shí)間的表現(xiàn)形式
* 1分鐘內(nèi)按秒
* 1小時(shí)內(nèi)按分鐘顯示
* 1天內(nèi)按時(shí)分顯示
* 3天內(nèi)以昨天,前天顯示
* 超過(guò)3天顯示具體日期
*
* @author Peter Pan
* @param int $time input int
*/
function smarty_modifier_time_ago($time) {
$time_deff = time() - $time;
$retrun = '';
if ($time_deff >= 259200) {
$retrun = date('Y-m-d H:i', $time);
} else if ($time_deff >= 172800) {
$retrun = "前天 " . date('H:i', $time);
} else if ($time_deff >= 86400) {
$retrun = "昨天" . date('H:i', $time);
} else if ($time_deff >= 3600) {
$hour = intval($time_deff / 3600);
$minute = intval(($time_deff % 3600) / 60);
$retrun = $hour . '小時(shí)';
if ($minute > 0) {
$retrun .= $minute . '分鐘';
}
$retrun .= '前';
} else if ($time_deff >= 60) {
$minute = intval($time_deff / 60);
$second = $time_deff % 60;
$retrun = $minute . '分';
if ($second > 0) {
$retrun .= $second . '秒';
}
$retrun .= '前';
}else{
$retrun = $time_deff.'秒前';
}
return $retrun;
}

Javascript
JS比較復(fù)雜一點(diǎn),分為3個(gè)函數(shù)實(shí)現(xiàn)
復(fù)制代碼 代碼如下:

/**
* 字符串填充
* @param string str 要進(jìn)行填充的字符串
* @param int len 目標(biāo)字符串長(zhǎng)度
* @param str chr 用于填充的字符 默認(rèn)為空格
* @param str dir 填充位置 left|right|both 默認(rèn)為right
*/
function strPad(str, len, chr, dir){
str = str.toString();
len = (typeof len == 'number') ? len : 0;
chr = (typeof chr == 'string') ? chr : ' ';
dir = (/left|right|both/i).test(dir) ? dir : 'right';
var repeat = function(c, l) {
var repeat = '';
while (repeat.length < l) {
repeat += c;
}
return repeat.substr(0, l);
}
var diff = len - str.length;
if (diff > 0) {
switch (dir) {
case 'left':
str = '' + repeat(chr, diff) + str;
break;
case 'both':
var half = repeat(chr, Math.ceil(diff / 2));
str = (half + str + half).substr(1, len);
break;
default:
str = '' + str + repeat(chr, diff);
}
}
return str;
}
/**
* 格式化日期
* 類(lèi)似php Date函數(shù),傳入U(xiǎn)nix 時(shí)間戳(秒級(jí))返回指定格式
* 格式(不區(qū)分大小寫(xiě)):
* y 表示4位年份
* m 表示2位月份
* d 表示2位日
* h 表示2位時(shí)
* i 表示2位分
* s 表示2位秒
*/
function formatDate(format,timestamp) {
var date = new Date(parseInt(timestamp) * 1000);
var year = date.getFullYear();
var month = date.getMonth();
var day = date.getDate();
var hour = date.getHours();
var minute = date.getMinutes();
var second = date.getSeconds();
month = strPad(month,2,'0','left');
day = strPad(day,2,'0','left');
hour = strPad(hour,2,'0','left');
minute = strPad(minute,2,'0','left');
second = strPad(second,2,'0','left');
format = format.replace(/y/gi,year);
format = format.replace(/m/gi,month);
format = format.replace(/d/gi,day);
format = format.replace(/h/gi,hour);
format = format.replace(/i/gi,minute);
format = format.replace(/s/gi,second);
return format;
}
function timeAgo(time) {
var nowTime = Date.parse(new Date()) / 1000;
var time_deff = nowTime - time;
retrun = '';
if (time_deff >= 259200) {
retrun = formatDate('Y-m-d H:i', time);
} else if (time_deff >= 172800) {
retrun = "前天 " + formatDate('H:i', time);
} else if (time_deff >= 86400) {
retrun = "昨天" + formatDate('H:i', time);
} else if (time_deff >= 3600) {
hour = parseInt(time_deff / 3600);
minute = parseInt((time_deff % 3600) / 60);
retrun = hour + '小時(shí)';
if (minute > 0) {
retrun += minute + '分鐘';
}
retrun += '前';
} else if (time_deff >= 60) {
minute = parseInt($time_deff / 60);
second = time_deff % 60;
retrun = minute + '分';
if (second > 0) {
retrun += second + '秒';
}
retrun += '前';
}else{
retrun = time_deff +'秒前';
}
return retrun;
}

相關(guān)文章

  • PHP 遞歸效率分析

    PHP 遞歸效率分析

    PHP的遞歸效率一般認(rèn)為是低效的。大概一年前,我寫(xiě)了一篇博文,對(duì)三種遍歷樹(shù)的方法進(jìn)行了比較,發(fā)現(xiàn)遞歸算法的效率最低。
    2009-11-11
  • 詳解php中流行的rpc框架

    詳解php中流行的rpc框架

    如果用一句話(huà)概括RPC就是:遠(yuǎn)程調(diào)用框架(Remote Procedure Call)。遠(yuǎn)程調(diào)用意思就是:被調(diào)用方法的具體實(shí)現(xiàn)不在程序運(yùn)行本地,而是在別的某個(gè)遠(yuǎn)程地方。
    2021-05-05
  • PHP基于PDO實(shí)現(xiàn)的SQLite操作類(lèi)【包含增刪改查及事務(wù)等操作】

    PHP基于PDO實(shí)現(xiàn)的SQLite操作類(lèi)【包含增刪改查及事務(wù)等操作】

    這篇文章主要介紹了PHP基于PDO實(shí)現(xiàn)的SQLite操作類(lèi),包含增刪改查及事務(wù)等操作實(shí)現(xiàn)技巧與使用方法,需要的朋友可以參考下
    2017-06-06
  • php解決約瑟夫環(huán)算法實(shí)例分析

    php解決約瑟夫環(huán)算法實(shí)例分析

    這篇文章主要介紹了php解決約瑟夫環(huán)算法,結(jié)合實(shí)例形式分析了約瑟夫環(huán)問(wèn)題的原理、解決方法及相關(guān)算法實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-09-09
  • php7下安裝event擴(kuò)展方法

    php7下安裝event擴(kuò)展方法

    下面小編就為大家分享一篇php7下安裝event擴(kuò)展方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • PHP用strstr()函數(shù)阻止垃圾評(píng)論(通過(guò)判斷a標(biāo)記)

    PHP用strstr()函數(shù)阻止垃圾評(píng)論(通過(guò)判斷a標(biāo)記)

    假如你的網(wǎng)站垃圾評(píng)論很多,大部分垃圾評(píng)論是帶鏈接的,因?yàn)橐黾臃聪蜴溄勇?,所以你可以使用下面的小技巧?lái)杜絕這些帶鏈接的垃圾評(píng)論
    2013-09-09
  • golang與PHP輸出excel示例

    golang與PHP輸出excel示例

    這篇文章主要介紹了golang與PHP輸出excel的方法,結(jié)合實(shí)例形式對(duì)比分析了Go語(yǔ)言及php輸出Excel文件的相關(guān)技巧,需要的朋友可以參考下
    2016-07-07
  • php計(jì)劃任務(wù)之驗(yàn)證是否有多個(gè)進(jìn)程調(diào)用同一個(gè)job的方法

    php計(jì)劃任務(wù)之驗(yàn)證是否有多個(gè)進(jìn)程調(diào)用同一個(gè)job的方法

    這篇文章主要介紹了php計(jì)劃任務(wù)之驗(yàn)證是否有多個(gè)進(jìn)程調(diào)用同一個(gè)job的方法,涉及php針對(duì)計(jì)劃任務(wù)中進(jìn)程調(diào)用的相關(guān)使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-12-12
  • php file_get_contents取文件中數(shù)組元素的方法

    php file_get_contents取文件中數(shù)組元素的方法

    下面小編就為大家?guī)?lái)一篇php file_get_contents取文件中數(shù)組元素的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-04-04
  • php PDO異常處理詳解

    php PDO異常處理詳解

    這篇文章主要給大家介紹了php中PDO異常處理的相關(guān)內(nèi)容,文中給大家先進(jìn)行了簡(jiǎn)單的介紹,然后通過(guò)實(shí)例代碼給大家介紹了使用方式,介紹的非常詳細(xì),有需要的朋友們可以參考借鑒,感興趣的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2016-11-11

最新評(píng)論