• 封装javascript帮助方法--时间转换


      在利用ajax和服务端交互的时候,服务端返回的时间格式是/Data(34567236565)/样子的(起码.net服务端是这么返回的)。每次解决都要写一遍方法,很是头疼。

    今天就封装一下,一劳永逸把。

      首先构建一个构造函数用于初始化帮助对象

    function DateTimeHelper() {
        this.convertToDate = convertToDate;
        this.getLocalTime = getLocalTime;
    };
    时间帮助对象

    里面有两个方法,一个是处理时间的方法。

    //格式化时间对象
    //时间处理(专门针对/Data(34567236565)/处理)
    //dateStr:时间字符串,len:要返回的时间最小粒度 值:year,month,day,hours,minutes,seconds
    function convertToDate(dateStr, len) {
        var timeStr = dateStr.match(/d+/)[0];
        var date = new Date(parseInt(timeStr));
        return convertToTimeStr(date, len)
    }
    格式化时间对象

    一个是获取本地时间的方法

    //获取当前时间对象,len:要返回的时间最小粒度 值:year,month,day,hours,minutes,seconds
    function getLocalTime(len) {
        var date = new Date();
        return convertToTimeStr(date, len);
    }
    当前本地时间

    拼接时间格式的核心方法

    //格式化时间对象,date:时间对象,len:要返回的时间最小粒度 值:year,month,day,hours,minutes,seconds
    function convertToTimeStr(date, len) {
        if (typeof len == "undefined") {
            len = "seconds";
        }
        var year = date.getFullYear();
        //可能需要补充占位符的字段
        var needAddPlaceholder = [date.getMonth() + 1, date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds()]
    
        //补齐占位符
        for (var x in needAddPlaceholder) {
            if (needAddPlaceholder[x] < 10) {
                needAddPlaceholder[x] = "0" + needAddPlaceholder[x];
            }
        }
    
        var dateArray = [year, needAddPlaceholder[0], needAddPlaceholder[1]];
        var time = [needAddPlaceholder[2], needAddPlaceholder[3], needAddPlaceholder[4]];
    
        switch (len) {
            case "year": return dateArray.slice(0, 1);
            case "month": return dateArray.slice(0, 2).join("-");
            case "day": return dateArray.slice(0, 3).join("-");
            case "hours": return dateArray.slice(0, 3).join("-") + " " + time.slice(0, 1);
            case "minutes": return dateArray.slice(0, 3).join("-") + " " + time.slice(0, 2).join(":");
            case "seconds": return dateArray.slice(0, 3).join("-") + " " + time.slice(0, 3).join(":");
            default:
                throw new Error('len必须是year,month,day,hours,minutes,seconds其中的一个');
        }
    }
    核心方法

    大功告成。

  • 相关阅读:
    LOL 战斗力查询
    D3js-对柱状图的增,删,排序
    我的项目7 js 实现歌词同步(额,小小的效果)
    为什么电脑启动任务管理器会这样
    OpenCV求取轮廓线
    leetcode-Reverse Words in a String
    Linux lvs DR配置
    p2p网贷3种运营模式
    T4308 数据结构判断
    1080 线段树练习
  • 原文地址:https://www.cnblogs.com/zk3113/p/5830255.html
Copyright © 2020-2023  润新知