Heim  >  Artikel  >  Backend-Entwicklung  >  Die PHP-Version implementiert eine benutzerfreundliche Zeitanzeigemethode (z. B.: vor 1 Minute)

Die PHP-Version implementiert eine benutzerfreundliche Zeitanzeigemethode (z. B.: vor 1 Minute)

WBOY
WBOYOriginal
2016-08-08 09:33:231481Durchsuche

Komplette PHP-Klasse, normalerweise verwende ich sie mit Smary für den schnellen Gebrauch.

<?PHP
/* 
* Data time functions.
  // * 模块
*/
defined('TSKY') || die('Permission Denied!');

function fmtMonth($month){
    return date('F, Y',day2time($month.'01'));
}

// 
function fmt_month($ts) {
    return strftime("%b,%Y",$ts);
}

// 03:02
function shartTime($ts) {
    return strftime("%H:%M",$ts);
}
// 03:02:01
function longTime($ts) {
    return strftime("%T",$ts);
}
//4月18日
function shortDate($ts) {
    return date("n月d日",$ts);
}
//2006年4月18日
function longDate($ts) {
    return date("Y年n月d日",$ts);
}

function dateTime($ts) {
    return date("Y年n月d日 H:i:s",$ts);
}
function fullDateTime($ts) {
    return date("Y年n月d日 ",$ts).week($ts);
}
function week($ts) {
    global $lang;
    return  $lang['weekDay'][date('w',$ts)];
}

function relatively_date($date) {
    if (!preg_match('/^\d+$/', $date)) $date = strtotime(trim($date));
    $sec = time() - $date;
    switch(true){
        case $sec < 3600:
            return round($sec/60). ' 分钟前';
        case $sec < 86400:
            return round($sec/3600). ' 小时前';
        case $sec < (86400 * 7):
            return round($sec/86400). ' 天前';//days ago
        case $sec < (86400 * 7 * 4):
            return round($sec/(86400*7)). ' 周前'; //weeks ago
        default:
            return longDate($date);
    }
}

function nextMonth($month/*200512->200601*/){
    return date('Ym',strtotime('+1 month',strtotime($month.'01')));
}
function prevMonth($month/*200512->200511*/){
    return date('Ym',strtotime('-1 month',strtotime($month.'01')));
}
function prevDay($day/*20050826*/){
    $day = substr($day,0,8);
    return date('Ymd',strtotime('-1 day',strtotime($day)));
}

function nextDay($day/*20050826*/){
    $day = substr($day,0,8);
    return date('Ymd',strtotime('+1 day',strtotime($day)));
}
function nextExistsDay($day/*20050109*/){
    $day = nextDay($day);
    while(!hasTopic($day) && $day < TODAY){
        $day = nextDay($day);
    }
    return hasTopic($day) ? $day : false;
}
function prevExistsDay($day/*20050109*/){
    global $cfg;
    $day = prevDay($day);
    while(!hasTopic($day) && (int)$day > $cfg->origDate){
        $day = prevDay($day);
    }
    return hasTopic($day) ? $day : false;
}


function prev_day($day){$day = substr($day,0,8);return date('Ymd',strtotime('-1 day',strtotime($day)));}
function long_date($ts){return date("Y年n月d日",$ts);}
function day2time($day){return @strtotime($day);}





/*
echo "<pre class="brush:php;toolbar:false">";
echo strftime("a%a\n"); //  a  星期二             
echo strftime("A%A\n"); //  A  星期二             
echo strftime("b%b\n"); //  b  四月               
echo strftime("B%B\n"); //  B  四月               
echo strftime("c%c\n"); //  c  2006-4-18 3:48:11  
echo strftime("C%C\n"); //  C                     
echo strftime("d%d\n"); //  d  18                 
echo strftime("D%D\n"); //  D                     
echo strftime("e%e\n"); //  e                     
echo strftime("g%g\n"); //  g                     
echo strftime("G%G\n"); //  G                     
echo strftime("h%h\n"); //  h                     
echo strftime("H%H\n"); //  H  03                 
echo strftime("I%I\n"); //  I  03                 
echo strftime("j%j\n"); //  j  108                
echo strftime("m%m\n"); //  m  04                 
echo strftime("M%M\n"); //  M  48                 
echo strftime("n%n\n"); //  n                     
echo strftime("p%p\n"); //  p  上午               
echo strftime("r%r\n"); //  r                     
echo strftime("R%R\n"); //  R                     
echo strftime("S%S\n"); //  S  11                 
echo strftime("t%t\n"); //  t                     
echo strftime("T%T\n"); //  T                     
echo strftime("u%u\n"); //  u                     
echo strftime("U%U\n"); //  U  16                 
echo strftime("V%V\n"); //  V                     
echo strftime("W%W\n"); //  W  16                 
echo strftime("w%w\n"); //  w  2                  
echo strftime("x%x\n"); //  x  2006-4-18          
echo strftime("X%X\n"); //  X  3:48:11            
echo strftime("y%y\n"); //  y  06                 
echo strftime("Y%Y\n"); //  Y  2006               
echo strftime("Z%Z\n"); //  Z  中国标准时间       
echo strftime("%%%\n"); //  %                     
*/


Das Obige stellt die PHP-Version vor, um eine benutzerfreundliche Zeitanzeigemethode zu implementieren (z. B. vor 1 Minute), einschließlich der relevanten Inhalte. Ich hoffe, dass es für Freunde hilfreich ist, die an PHP-Tutorials interessiert sind.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn