国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > PHP > 正文

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

2024-05-04 23:13:54
字體:
供稿:網(wǎng)友
廢話不多說直接上代碼。
PHP FOR Smarty

復(fù)制代碼 代碼如下:


* Name: time_ago
* Purpose: 將時(shí)間戳專為距當(dāng)前時(shí)間的表現(xiàn)形式
* 1分鐘內(nèi)按秒
* 1小時(shí)內(nèi)按分鐘顯示
* 1天內(nèi)按時(shí)分顯示
* 3天內(nèi)以昨天,前天顯示
* 超過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)字符串長度
* @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;
}
/**
* 格式化日期
* 類似php Date函數(shù),傳入U(xiǎn)nix 時(shí)間戳(秒級)返回指定格式
* 格式(不區(qū)分大小寫):
* 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;
}

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 台中市| 曲麻莱县| 东平县| 景东| 阳东县| 黄陵县| 新干县| 洪泽县| 长丰县| 洪湖市| 岳普湖县| 普兰县| 古蔺县| 商水县| 四川省| 河源市| 始兴县| 永兴县| 亳州市| 平度市| 辛集市| 无极县| 湄潭县| 孝昌县| 交城县| 遵义市| 平阳县| 祥云县| 太湖县| 刚察县| 松阳县| 佛山市| 共和县| 道真| 双鸭山市| 十堰市| 钦州市| 兴宁市| 安庆市| 墨脱县| 兰西县|