• 【小记】-009--时间戳转日期/一个基于JQ 的倒计时插件


    时间戳转日期

    getMyDate: function (nS) {
        return new Date(parseInt(nS) * 1000).toLocaleString().replace(/[u4e00-u9fa5]/g,''); 
        //(2018/10/30 5:02:23)
    }
    getMyDate: function (nS) {
        return new Date(parseInt(nS) * 1000).toLocaleString().replace(/:d{1,2}$/,' ');
        //(2018/10/30 上午5:02:23)
    }

    倒计时插件

    HTML

    <div id="fnTimeCountDown" data-end="{$start_time.start_time}">
            <div>
                <span style="vertical-align:middle">距离大会开幕还有</span>
                <!-- <span class="bigSize year">00</span>年 -->
                <p>
                    <span class="bigSize month">00</span><span class="bigSize day">00</span><span class="bigSize hour">00</span><span class="bigSize mini">00</span><span class="bigSize sec">00</span></p>
            </div>
            <!-- <span class="hm">000</span> -->
        </div>

    JS

    <script>
        $.extend($.fn, {
            // 倒计时
            fnTimeCountDown: function (d) {
                var $this = $(this);
                var o = {
                    hm: $this.find(".hm"),
                    sec: $this.find(".sec"),
                    mini: $this.find(".mini"),
                    hour: $this.find(".hour"),
                    day: $this.find(".day"),
                    month: $this.find(".month"),
                    year: $this.find(".year")
                };
                var f = {
                    haomiao: function (n) {
                        if (n < 10) return "00" + n.toString();
                        if (n < 100) return "0" + n.toString();
                        return n.toString();
                    },
                    zero: function (n) {
                        var _n = parseInt(n, 10);//解析字符串,返回整数
                        if (_n > 0) {
                            if (_n <= 9) {
                                _n = "0" + _n
                            }
                            return String(_n);
                        } else {
                            return "00";
                        }
                    },
                    dv: function () {
                        //d = d || Date.UTC(2050, 0, 1); //如果未定义时间,则我们设定倒计时日期是2050年1月1日
                        var _d = $this.data("end") || d;
                        var now = new Date(),
                            endDate = new Date(_d);
                        //现在将来秒差值
                        //alert(future.getTimezoneOffset());
                        var dur = (endDate - now.getTime()) / 1000,
                            mss = endDate - now.getTime(),
                            pms = {
                                hm: "000",
                                sec: "00",
                                mini: "00",
                                hour: "00",
                                day: "00",
                                month: "00",
                                year: "0"
                            };
                        if (mss > 0) {
                            pms.hm = f.haomiao(mss % 1000);
                            pms.sec = f.zero(dur % 60);
                            pms.mini = Math.floor((dur / 60)) > 0 ? f.zero(Math.floor((dur / 60)) % 60) : "00";
                            pms.hour = Math.floor((dur / 3600)) > 0 ? f.zero(Math.floor((dur / 3600)) % 24) : "00";
                            pms.day = Math.floor((dur / 86400)) > 0 ? f.zero(Math.floor((dur / 86400)) % 30) : "00";
                            //月份,以实际平均每月秒数计算
                            pms.month = Math.floor((dur / 2629744)) > 0 ? f.zero(Math.floor((dur / 2629744)) % 12) : "00";
                            //年份,按按回归年365天5时48分46秒算
                            pms.year = Math.floor((dur / 31556926)) > 0 ? Math.floor((dur / 31556926)) : "0";
                        } else {
                            pms.year = pms.month = pms.day = pms.hour = pms.mini = pms.sec = "00";
                            pms.hm = "000";
                            //alert('结束了');
                            return;
                        }
                        return pms;
                    },
                    ui: function () {
                        if (o.hm) {
                            o.hm.html(f.dv().hm);
                        }
                        if (o.sec) {
                            o.sec.html(f.dv().sec);
                        }
                        if (o.mini) {
                            o.mini.html(f.dv().mini);
                        }
                        if (o.hour) {
                            o.hour.html(f.dv().hour);
                        }
                        if (o.day) {
                            o.day.html(f.dv().day);
                        }
                        if (o.month) {
                            o.month.html(f.dv().month);
                        }
                        if (o.year) {
                            o.year.html(f.dv().year);
                        }
                        setTimeout(f.ui, 1);
                    }
                };
                f.ui();
            },
            // 时间戳转日期
            getMyDate: function (nS) {
                return new Date(parseInt(nS) * 1000).toLocaleString().replace(/[u4e00-u9fa5]/g, '');
            }
    
        });
        var str = '<?php  echo json_encode($start_time) ?>'
        var startTime = JSON.parse(str).start_time
        $("#fnTimeCountDown").fnTimeCountDown(startTime);
    
    </script>
  • 相关阅读:
    删除List集合中的元素你碰到过这样的陷阱吗?
    从spring框架中的事件驱动模型出发,优化实际应用开发代码
    SpringBoot启动原理及相关流程
    基于SpringBoot实现定时任务的设置(常用:定时清理数据库)
    C#开发中常用的加密解密方法
    http://go.microsoft.com/fwlink/?linkid问题
    移动端开发必须知道的小技巧
    工作中遇到的细节问题总结(二)
    redis分布式锁和消息队列
    join和wait
  • 原文地址:https://www.cnblogs.com/asenper/p/10740480.html
Copyright © 2020-2023  润新知