• discuz 个性化时间函数


    define('DATEFORMAT', 'Y-m-d'); // 日期格式
    define('TIMEFORMAT', 'H:i:s'); //时间格式
    define('DATECONVERT', 1); //是否使用人性化时间格式
    define('TIMEOFFSET', '8'); //默认所在时区
    define('TIMESTAMP', time());
    $lang = array(
        'before' => '前',
        'day' => '天',
        'yday' => '昨天',
        'byday' => '前天',
        'hour' => '小时',
        'half' => '半',
        'min' => '分钟',
        'sec' => '秒',
        'now' => '刚刚',
    );
    
    
    $timestamp = strtotime('2014-3-12 10:20:34');
    $time = dgmdate($timestamp, 'u');
    echo $time;
    
    
    function dgmdate($timestamp, $format = 'dt', $timeoffset = '9999', $uformat = '') {
        global $lang;
        $format == 'u' && !DATECONVERT && $format = 'dt';
        static $dformat, $tformat, $dtformat, $offset;
        if ($dformat === null) {
            $dformat = DATEFORMAT;
            $tformat = TIMEFORMAT;
            $dtformat = $dformat . ' ' . $tformat;
            $offset = TIMEOFFSET;
        }
        $timeoffset = $timeoffset == 9999 ? $offset : $timeoffset;
        $timestamp += $timeoffset * 3600;
        $format = empty($format) || $format == 'dt' ? $dtformat : ($format == 'd' ? $dformat : ($format == 't' ? $tformat : $format));
        if ($format == 'u') {
            $todaytimestamp = TIMESTAMP - (TIMESTAMP + $timeoffset * 3600) % 86400 + $timeoffset * 3600;
            $s = gmdate(!$uformat ? str_replace(":i", ":i:s", $dtformat) : $uformat, $timestamp);
            $time = TIMESTAMP + $timeoffset * 3600 - $timestamp;
            if ($timestamp >= $todaytimestamp) {
                if ($time > 3600) {
                    return '<span title="' . $s . '">' . intval($time / 3600) . '&nbsp;' . $lang['hour'] . $lang['before'] . '</span>';
                } elseif ($time > 1800) {
                    return '<span title="' . $s . '">' . $lang['half'] . $lang['hour'] . $lang['before'] . '</span>';
                } elseif ($time > 60) {
                    return '<span title="' . $s . '">' . intval($time / 60) . '&nbsp;' . $lang['min'] . $lang['before'] . '</span>';
                } elseif ($time > 0) {
                    return '<span title="' . $s . '">' . $time . '&nbsp;' . $lang['sec'] . $lang['before'] . '</span>';
                } elseif ($time == 0) {
                    return '<span title="' . $s . '">' . $lang['now'] . '</span>';
                } else {
                    return $s;
                }
            } elseif (($days = intval(($todaytimestamp - $timestamp) / 86400)) >= 0 && $days < 7) {
                if ($days == 0) {
                    return '<span title="' . $s . '">' . $lang['yday'] . '&nbsp;' . gmdate($tformat, $timestamp) . '</span>';
                } elseif ($days == 1) {
                    return '<span title="' . $s . '">' . $lang['byday'] . '&nbsp;' . gmdate($tformat, $timestamp) . '</span>';
                } else {
                    return '<span title="' . $s . '">' . ($days + 1) . '&nbsp;' . $lang['day'] . $lang['before'] . '</span>';
                }
            } else {
                return $s;
            }
        } else {
            return gmdate($format, $timestamp);
        }
    }
  • 相关阅读:
    (原创)常用加密解密
    Winforms和资源(Resources/resx)
    delphi中的第三方控件如何安装 (转)
    IT博客
    访问FTP (转)
    设置radasm,使其支持8086 16位asm(转)
    EditPlus注册码(转)
    windows资源管理器已停止工作 (转)
    当发生异常时,怎样能不让‘delphi的异常提示框出现’而出现自己的‘异常提示框’?
    清除复制网页带过来的背景颜色 (转)
  • 原文地址:https://www.cnblogs.com/bandbandme/p/3600043.html
Copyright © 2020-2023  润新知