javascript、php与mysql时间格式化函数
admin
2023-06-15 03:41:45
0
  1. javascript:
    /*
    @desc:时间友好显示函数
    @param stamp 时间缀,10位长度
    */
    function timefriend(stamp){
    this.stamp = stamp
    /*
     @desc:主方法,执行转换
     */
    this.get = function(){
        var stamp = this.stamp
        if(!stamp){
            return '—';
        }
        var date = new Date(stamp*1000)
        var time = Math.round(new Date().getTime()/1000)
        diff = time - stamp
        if(diff<0){
            return '—';
        }else if(diff<60){
            return diff+'秒前'
        }else if(diff<3600){
            return Math.floor(diff/60)+'分钟前'
        }else if(diff<86400){
            return Math.floor(diff/3600)+'小时前'
        }else if(diff<259200){
            return Math.floor(diff/86400)+'天前'
        }else{
            var year = this.parsetime(date.getFullYear())
            var month = this.parsetime(date.getMonth())
            var day = this.parsetime(date.getDate())
            var hour = this.parsetime(date.getHours())
            var minute = this.parsetime(date.getMinutes())
            var second = this.parsetime(date.getSeconds())
            var ret = year+'-'+month+'-'+day+' '+hour+':'+minute+':'+second
            return ret
        }
    }
    this.parsetime = function(input){
        var ret
        if(input >= 0 && input < 10){
            ret = '0'+input
        }else{
            ret = input
        }
        return ret
    }
    }
    var timefriend = new timefriend('1428593779')
    console.log(timefriend.get())
  2. php:
    /*
    @desc:显示某一个时间相当于当前时间在多少秒前,多少分钟前,多少小时前
    @param  stamp      时间戳
    @param  format     时间显示格式,默认Y-m-d H:i:s
    @return 如      5秒前
    */
    function timefriend($stamp,$format = 'Y-m-d H:i:s'){
    if(empty($stamp)||!is_numeric($stamp)||!$stamp){
        return '—';
    }
    $diff = time() - $stamp;
    if($diff<0){
        return '—';
    }elseif($diff<60){
        return $diff.'秒前';
    }elseif($diff<3600){
        return floor($diff/60).'分钟前';
    }elseif($diff<86400){
        return floor($diff/3600).'小时前';
    }elseif($diff<259200){
        return floor($diff/86400).'天前';
    }else{
        return date($format,$stamp);
    }
    }
  3. mysql:
    DELIMITER //
    CREATE FUNCTION friendlyDate(sTime char(11))
    RETURNS char(11)
    BEGIN
    if sTime='' then
        return '-';
    end if;
    set @cTime=UNIX_TIMESTAMP();
    set @dTime=@cTime-sTime;
    set @dDay=DATE_FORMAT(@cTime,'%e')-DATE_FORMAT(@sTime,'%e');
    set @dYear=DATE_FORMAT(@cTime,'%Y')-DATE_FORMAT(@sTime,'%Y');
    if @dTime>0 then
        if @dTime<60 then
            if @dTime<10 then
                return '刚刚';
            else
                set @t=floor(@dTime/10)*10;
                set @ret=concat(@t,'秒前');
                return @ret;
            end if;
        elseif @dTime<3600 then
            set @t=@dTime/60;
            set @ret=concat(@t,'分钟前');
            return @ret;
        elseif @dYear=0 && @dDay=0 then
            set @t=DATE_FORMAT(@sTime,'%H:%i');
            set @ret=concat('今天',@t);
            return @ret;
        elseif @dYear=0 then
            return DATE_FORMAT(@sTime,'%m月%d日 %H:%i');
        else
            return DATE_FORMAT(@sTime,'%Y-%m-%d %H:%i:%s');
        end if;
    else
        return DATE_FORMAT(@sTime,'%Y年%m月%d日 %H:%i');
    end if;
    END
    //
    DELIMITER ;

相关内容

热门资讯

德国华人连环迷奸案,“体面人”... 当地时间5月20日上午,柏林地方法院一楼门外,自发前来旁听的人们沿着狭窄的旋转楼梯,一路排到了三楼。...
塞尔维亚总统武契奇访问清华大学 5月26日上午,塞尔维亚总统阿莱克桑达尔·武契奇(H.E.Aleksandar Vučić)访问清华...
“假煽情”还是“真必要”?家长... 临近毕业季,全国不少高中都在为高三学生举办成人礼。身穿礼服、挽着父母的手臂走过“成人门”、互换感恩信...
原创 走... 地球知识局 文字 | 林间草木声 校对 | 朝乾 编辑 | Alicia 5月2号,拥有上百架飞机的...
ChatGPT为什么敢胡编?深... 我以第一人称写下这些文字,并非因为我是人类,恰恰相反——我是一个AI。准确地说,我是某个大型语言模型...
斩获低空经济优秀示范项目奖|九... 近日,九洲集团旗下产业公司九洲空管凭借标杆性产业项目与低空领域核心技术优势,成功斩获2026UASE...
原创 玻... 在现代工业暖通空调系统中,柔性风管在气流控制、空间优化和系统连接方面发挥着至关重要的作用。在各种柔性...
惠州全链协同打造人工智能和机器... 千台机器人有望在年内产线“上岗”、无人物流车进行商业化前期测试、具身智能机器人实现量产……当前,人工...
小米发布2026年Q1财报:总... 【太平洋科技快讯】小米刚刚发布2026年第一季度财报,当季实现总营收991亿元,经调整净利润61亿元...
美重启海外钨矿资源,“西方要想... 【文/观察者网 张菁娟】随着美以联合对伊朗发动军事行动,中东战事的持续,高强度战争对战略物资的海量消...